How can I create a shelltoast?

匿名 (未验证) 提交于 2019-12-03 01:54:01

问题:

In my application I want to notify the user with the ShellToast.

Just by running...

var toast = new ShellToast {     Title = "Nom nom nom!",     Content = "More! More! Keep feeding me!", }; toast.Show(); 

...makes nothing happen, and as I understand it needs to be run from a ScheduledTaskAgent. But how do I run this on command, and make sure it only run once?

回答1:

You can't use a ShellToast while the app is the foreground app. It's meant to be invoked from a background service while the app isn't the foreground app.

If you want to have a UX similar to that of ShellToast use the Coding4fun toolkit ToastPrompt control. Here's a code snippet showing how to use it:

    private void ToastWrapWithImgAndTitleClick(object sender, RoutedEventArgs e)     {         var toast = GetToastWithImgAndTitle();         toast.TextWrapping = TextWrapping.Wrap;          toast.Show();     }      private static ToastPrompt GetToastWithImgAndTitle()     {         return new ToastPrompt         {             Title = "With Image",             TextOrientation = System.Windows.Controls.Orientation.Vertical,             Message = LongText,             ImageSource = new BitmapImage(new Uri("../../ApplicationIcon.png", UriKind.RelativeOrAbsolute))         };     } 

Running this code snippet shows the following:



回答2:

Just a small update: using ShellToast when the app is in foreground, is now possible, when using Windows Phone 8 Update 3. Though, they are obscured by other activity such as a phone call or the lock screen. Source



标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!