我正在构建一个通知服务,当我试图在其中显示任何类型的图像时,我目前面临一个问题。
我使用Microsoft.Toolkit.Uwp.Notifications
,下面是我用来显示构建和显示通知的代码。
static class NotificationTemplate
{
public static ToastContentBuilder HelpDesk(string main_payload, string additional_data, string type)
{
return new ToastContentBuilder()
.AddArgument("type", "helpdesk")
.AddArgument("select", main_payload)
.AddText("Incoming ticket", AdaptiveTextStyle.Title)
.AddText(type, AdaptiveTextStyle.Header)
.AddAttributionText(additional_data)
.AddAppLogoOverride(new Uri("https://cdn4.iconfinder.com/data/icons/the-weather-is-nice-today/64/weather_11-64.png"))
.AddButton(new ToastButton()
.AddArgument("take", main_payload)
.SetContent("TAKE"))
.AddButton(new ToastButton()
.AddArgument("close", main_payload)
.SetContent("CLOSE"));
}
}
我在Uri
中使用的图像是有效的(测试链接,而不是实际的东西),并在浏览器中打开链接时显示。下面是所示通知的屏幕截图:
我正在运行Windows 10
build 19045.3324
1条答案
按热度按时间eimct9ow1#
在docs中明确提到:
重要
只有在清单中具有互联网功能的打包应用程序中才支持Http图像。未打包的应用程序不支持http图像;你必须下载图像到你的本地应用程序数据,并在本地引用它。
正如你提到的,你没有使用打包的应用程序,那么你必须自己下载镜像,无论是在设计时还是运行时。
您可以下载它并将其添加到解决方案中,然后将其复制到输出目录中,也可以下载它并在运行时使用它。举例来说:
**注意:**不是本问答关注的问题,但要下载文件,建议使用HttpClient。看看this example。
如文档中所述,对于打包的应用程序,如果启用了互联网访问,则不需要下载图像,可以使用图像URL。要了解更多信息,请查看以下资源:
是的,这两种解决方案(对于打包的应用程序不下载,对于非打包的应用程序下载)也可以在调试模式下工作。