You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Net 7中使用Microsoft.Toolkit.Uwp.Notifications遇Show方法不可用问题

解决ToastContentBuilder.Show()无法编译的问题

原因分析

在.net7.0-windows桌面项目中,ToastContentBuilder的Show()方法仅针对UWP应用设计,不适用于WPF/WinForms这类传统桌面项目,因此会出现编译错误。

解决方案

1. 确认NuGet包安装

确保已安装最新版的Microsoft.Toolkit.Uwp.Notifications NuGet包,可通过NuGet包管理器安装,或执行以下命令:

Install-Package Microsoft.Toolkit.Uwp.Notifications -Version 8.2.0

2. 替换Show()方法调用

将原代码中的builder.Show()替换为基于ToastNotificationManagerCompat的显示逻辑:

var builder = new ToastContentBuilder()
               .AddArgument("conversationId", 9813)
               .AddText("Some text")
               .AddButton(new ToastButton()
                   .SetContent("Archive")
                   .AddArgument("action", "archive"));

// 替换builder.Show()为以下两行代码
var toastNotification = builder.CreateToastNotification();
ToastNotificationManagerCompat.CreateToastNotifier().Show(toastNotification);

3. 确保命名空间引用

代码文件顶部需包含以下命名空间:

using Microsoft.Toolkit.Uwp.Notifications;

4. 项目配置检查

确认项目文件(.csproj)中的目标框架及项目类型配置正确:

<TargetFramework>net7.0-windows</TargetFramework>
<UseWPF>true</UseWPF> <!-- WPF项目添加此行 -->
<!-- WinForms项目则添加:<UseWindowsForms>true</UseWindowsForms> -->

完成以上修改后,代码即可正常编译并显示Toast通知。

内容的提问来源于stack exchange,提问作者tech74

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 21:06:08