2016-03-10 114 views
1

我想弄清楚是否有可能通過我的WPF應用程序訪問Windows 10中存在的內置通知服務。 我正在使用VS 2015和c#。 另外,是toasternotification同樣的事情?他們在Windows 10中看起來不再那樣了。 如果是的話,您能否引導我以正確的方向來命名空間等?Windows 10通知WPF

是的,我已經在網上搜索,只有Win 7發現asasternotification。這不是我要找的東西。

謝謝

+0

參見http://blogs.msdn.com/b/tiles_and_toasts/archive/2015/07/08/quickstart-sending-a-local-toast-notification-and-handling-activations-from-it-windows- 10.aspx但我不知道它是否也適用於wpf或僅適用於UWP – Pazi01

+0

請參閱https://blogs.msdn.microsoft.com/tiles_and_toasts/2015/10/16/quickstart-handling-toast-activations-from -win32-apps-in-windows-10/WPF/Win32 – k94ll13nn3

回答

2

找到a code sample that is similar to what you need, but only does Toast Notifications

您基本上想要一個引用Windows.UI組件的常規.NET應用程序。

要使用Windows 10通知你需要編輯的csproj文件並添加目標平臺,

<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'"> 
<TargetPlatformVersion>8.1</TargetPlatformVersion> 
</PropertyGroup> 

一旦你這樣做,你應該能夠添加一個引用到Windows.UI組件。

右鍵單擊References節點,然後單擊左側窗格中的Windows。 選中Windows.UI,Windows.Data和Windows.Foundation複選框。

接下來在您的表單類文件上,添加using Windows.UI.Notifications;以訪問ToastManager組件。

一旦你的,訪問您要使用

// Get a toast XML template 
var toastXml = ToastNotificationManager.GetTemplateContent(ToastTemplateType.ToastImageAndText02); 

// Fill in the text elements 
var stringElements = toastXml.GetElementsByTagName("text"); 
stringElements[0].AppendChild(toastXml.CreateTextNode("Title")); 
stringElements[1].AppendChild(toastXml.CreateTextNode("Content")); 

Here are the different Toast type enumerations的模板。

一旦你有你需要創建一個ToastNotification並將其發送到ToastNotificationManager

// Create the toast and attach event listeners 
var toast = new ToastNotification(toastXml); 
toast.Activated += ToastActivated; 
toast.Dismissed += ToastDismissed; 
toast.Failed += ToastFailed; 

// Show the toast. Be sure to specify the AppUserModelId on your application's shortcut! 
ToastNotificationManager.CreateToastNotifier("My Toast").Show(toast); 

您可以將所激發的,駁回和失敗的事件處理程序的事件太吐司模板的引用。

+0

我嘗試在WPF應用程序中使用此提示。但是我找不到有關評論中提到的「AppUserModelId」的任何信息。 –

+0

我真的不記得在這種情況下,AppUserModelID是否相關,它將使用當前用戶來顯示它,這被稱爲有很多關於它的微軟網站的文檔[here](https:// msdn。 microsoft.com/en-us/library/dd378459) –

+1

是的,謝謝,我看到了這個文檔。否則,上面的代碼在我的WPF應用程序中不會導致異常,但沒有通知:/ –

相關問題