如何在WPF Windows Toast Notification按钮按下时调用函数



我最近一直在玩一个WBF项目,并试图从Microsoft.Toolkit.UV.Notifications NuGet包中实现windows Toast通知。所以我设置了通知,它工作得很好,但按下Toast按钮时如何调用函数?我知道我应该重写App.xaml中的OnActivated函数,但它一直告诉我没有这样的函数可以重写,只有一个使用EventArgs作为参数的函数,但按下按钮时不会调用它。这是我的祝酒词:

new ToastContentBuilder()
.AddText("test")
.AddButton(new ToastButton()
.SetContent("Call function")
.AddArgument("action", "callFunction")
)
.AddButton(new ToastButton()
.SetContent("Dismiss")
.SetDismissActivation()
)
.Show();

正如你所看到的,我只是用两个按钮创建了一个简单的Toast通知。其中一个会取消通知罚款,但当我点击另一个测试按钮时,我如何调用函数?

同样,我的App.xaml没有正确的OnActivated函数可以重写,而且它所拥有的函数也不会在按下按钮时调用。我想这是因为这是一个WPF项目,而不是UWP项目。有人能帮我吗?

提前感谢

终于找到了解决方案。你可以像这个一样将你的功能订阅到ToastNotificationManagerCompat

ToastNotificationManagerCompat.OnActivated += toastArgs =>
{
CheckInput(toastArgs);
};

然后,每当按下toast按钮时,就会调用CheckInput函数。然后你可以检查toastArgs.Argument参数,看看按下了什么按钮,在CheckInput中,显然你把逻辑放在了处理不同的按钮按下。

最新更新