我想从this example创建简单的吐司通知到windows 10中的操作中心。但是我在步骤2中遇到了问题:
using Windows.UI.Notifications;
它不见了。但是我花了很多时间找它,却没有结果。我真的不知道在哪里可以找到它,或者至少下载它。
我尝试过:
1.经过长时间的搜索,我在C:\Windows\System32
中找到了Windows.UI.dll
,但是当我尝试将它作为引用添加到项目中时,我得到了这个错误。即使我尝试复制它并使其完全可访问,也没有任何变化
1.我试着重新安装.Net(我用的是4.5.2)
1.安装的Windows 10 SDK
1.尝试使用全局导入
1.已添加
<PropertyGroup>
<TargetPlatformVersion>10.0</TargetPlatformVersion>
</PropertyGroup>
1.添加了System.Runtime.dll
参考
示例代码可能对您无用:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.Toolkit.Uwp.Notifications;
using Microsoft.QueryStringDotNET;
using Windows.UI.Notifications;
namespace MessagerClient.Notifications {
class DefaultWindowsNotification {
public static void notificationTest() {
string title = "Andrew sent you a picture";
string content = "Check this out, Happy Canyon in Utah!";
string image = "http://blogs.msdn.com/something.jpg";
string logo = "ms-appdata:///local/Andrew.jpg";
ToastVisual visual = new ToastVisual() {
BindingGeneric = new ToastBindingGeneric() {
Children =
{
new AdaptiveText()
{
Text = title
},
new AdaptiveText()
{
Text = content
},
new AdaptiveImage()
{
Source = image
}
},
AppLogoOverride = new ToastGenericAppLogo() {
Source = logo,
HintCrop = ToastGenericAppLogoCrop.Circle
}
}
};
Console.WriteLine("NOTIFICATION");
//Can`t use because of Windows.UI library
ToastNotificationManager.CreateToastNotifier().Show(visual);
}
}
}
2条答案
按热度按时间polhcujo1#
您必须与Visual Studio进行艰苦的斗争,才能在Winforms应用中使用这些UWP协定。您使用了错误的TargetPlatformVersion,一开始就犯了错误,很难从中恢复。要采取的完整步骤:
使用文本编辑器编辑.csproj文件,记事本即可。插入以下内容:
假设您的计算机上安装了10586 SDK版本。目前,这些版本变化很快。通过使用资源管理器查看C:\Program Files(x86)\Windows Kits\10\Include,仔细检查,您会看到该目录中列出了已安装的版本。
打开Winforms项目,使用Project〉Add Reference〉Windows选项卡〉勾选
Windows.Data
和Windows.UI
协定。再次添加引用,并使用Browse选项卡选择System.Runtime。我在C:\Program Files(x86)\Reference Assemblies\Microsoft\Framework. NETFramework\v4.6.1\Facades中选择了一个。此引用显示了一个警告图标,不确定它试图表达什么,但似乎没有任何副作用。测试方法是在窗体上拖放一个按钮,双击添加Click事件处理程序。最基本的代码:
通过使用不同的ToastTemplateType添加图像或多行文本进行修饰。请记住,您的程序只能在Win10计算机上运行。
ulydmbyx2#
如果有人碰巧发现了这一点,请参阅这个类似但更新的帖子-
Toast Notifications in Win Forms .NET 4.5
阅读Stepan Hakobyan在底部的评论。
基本上,我看到了同样的事情。这段代码运行时,我可以一行一行地执行它,没有例外,但吐司通知从未在Form应用程序中显示。