WPF处理Toast通知
上一篇博文记录了如何发送Toast通知WPF使用Windows API发送Toast通知。这篇博文浅谈一下如何处理Toast通知。
完整代码见:Simple-WPF/ToastNotification
在程序加载时,我们绑定ToastNotificationManagerCompat.OnActivated
这个事件来处理Toast信息
的用户交互。
ToastNotificationManagerCompat.OnActivated += ToastNotificationManagerCompat_OnActivated;
事件处理函数中,我们只简单地演示把Toast信息提供的参数打印出来
private void ToastNotificationManagerCompat_OnActivated(ToastNotificationActivatedEventArgsCompat e)
{
ToastArguments args = ToastArguments.Parse(e.Argument);
ValueSet userInput = e.UserInput;
Application.Current.Dispatcher.Invoke(new Action(() =>
{
MessageBox.Show("Toast activated. Args:" + e.Argument + " State:" + ToastNotificationManagerCompat.WasCurrentProcessToastActivated());
}));
}
我们可以看到正常情况下State
一直是False
,但是当Toast信息
存在,但是发送这个Toast信息
的程序被关闭了,再次点击Toast信息
系统会自动启动应用程序并ToastNotificationManagerCompat.WasCurrentProcessToastActivated()
将反回为True
感谢扫码支持