我正在尝试用我的WPF C#桌面应用程序显示Windows10Toast。
遗憾的是,在非UWP或Store应用程序中,有关Windows 10通知的API和一般支持似乎相当有限和混乱。最近,UWP社区工具包出版了,这似乎是为了让我们的事情变得更容易。还有一个商店应用程序,通知可视化器,它帮助制作像这样的烤面包:

我继续使用C#和提供的API生成Toast。
使用Microsoft.Toolkit.Uwp.Notifications;
ToastContent toastContent = new ToastContent()
{
Visual = new ToastVisual()
{
BindingGeneric = new ToastBindingGeneric()
{
Children =
{
new AdaptiveText()
{
Text = "Matt sent you a friend request"
},
new AdaptiveText()
{
Text = "Hey, wanna dress up as wizards and ride around on our hoverboards together?"
}
},
AppLogoOverride = new ToastGenericAppLogo()
{
Source = "https://unsplash.it/64?image=1005",
HintCrop = ToastGenericAppLogoCrop.Circle
}
}
}
};
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml(toastContent.GetContent());
var toast = new ToastNotification(xmlDoc);
ToastNotificationManager.CreateToastNotifier(AppId).Show(toast); // Display toast不幸的是,无论我尝试什么,我似乎都无法得到同样的结果,图像总是因为某种原因而丢失:

我发现有关这些通知的大多数信息要么已经过时,要么毫无用处。谁能帮我弄清楚这件事吗?谢谢。
发布于 2016-10-06 12:17:46
单独使用UWP工具包是无法做到这一点的
看起来,使用.NET标准,这只能分两个步骤实现,其中一个步骤超出了UWP的范围。
.NET标准应用程序需要一个COM服务器和一个特殊的开始菜单快捷方式才能正确使用Windows10ActionCenter。UWP应用程序似乎不需要或已经提供了类似的功能。这两个步骤应该在应用程序安装期间执行,这显然是Microsoft UWP Toolkit没有参与的事情。因此,UWP工具包本身不仅不能,而且永远无法提供完整的解决方案,以自给的方式显示Windows10Toastsfor.NET标准。
备选方案
我发现了一个名为“Microsoft”的不知名的基于Github的C#项目,它在没有UWP工具包的情况下就能正常工作。它要求您提供一个GUID和一个AppID字符串,然后用于注册COM并创建快捷方式。
一个看起来更干净的替代方案是这个图书馆,它似乎提供了相同的功能。我还得试一试。
这两种解决方案都应该与微软的NotificationsExtensions librabry一起工作,后者是UWP的前身,有助于生成由Toast组成的XML代码。
https://stackoverflow.com/questions/39744331
复制相似问题