我正在尝试用Windows 10 Toast Notifications构建一个未打包的WPF应用程序。我想使AppLogoOverride
从我的应用程序的Resources
类获得资源。到目前为止,我一直在尝试这样做:
public void ShowToast() {
var toast = new ToastContentBuilder()
.AddText("Foo!")
.AddText("Bar.")
.AddAppLogoOverride(new Uri("pack://application:,,,/Resources/foobar.png"), ToastGenericAppLogoCrop.Circle)
.SetToastScenario(ToastScenario).Reminder);
ToastNoticiationManagerCompat.CreateToastNotifier().Show(toast);
}
当这样做时,通知只显示通用的"New Notification"文本。所以我试着注释掉说AddAppLogoOverride
的部分,它开始工作。所以我不确定如何从Resources
获得图像。
我还想提一下,我没有办法使用像ms-appdata://
或其他的东西,我不确定如何去做这件事,我真的不想把文件本地写入磁盘。
到目前为止,我还没有成功地使用pack://application:,,,
语法将图像包含到toast中。我猜toast通知不支持这种语法,因为它是WinRT的一部分,而UWP引用资源的语法与WPF不同。
的解决办法是,你可能不喜欢它,复制图像到本地(在应用程序的安装文件夹或其他地方),并指定其绝对路径。请参阅如何在c# Windows应用程序中使用自定义图像和onclick功能进行通知?