2015-08-28 71 views

回答

0

根据MSDN文档,ShellToast的显示方法不会显示该通知时,应用程序是在前台。

虽然可以从任何应用程序调用ShellToast.Show方法,但如果当前前台应用程序是ShellToast.Show方法的调用方,则不会显示Toast。这意味着这应该主要由后台代理使用。

但是,您可以使用Coding4Fun工具包来创建一个ToastPrompt,它的作用与您的ShellToast相同。

private void DisplayToast() 
{ 
    var toast = CreateToast(); 
    toast.TextWrapping = TextWrapping.Wrap; 

    toast.Show(); 
} 

private static ToastPrompt CreateToast() 
{ 
    return new ToastPrompt 
    { 
     Title = "MyToast", 
     TextOrientation = System.Windows.Controls.Orientation.Vertical, 
     Message = "Toast message", 
     ImageSource = new BitmapImage(new Uri("../../ApplicationIcon.png", UriKind.RelativeOrAbsolute)) 
    }; 
} 

只是要小心使用它,因为你必须在主线程发送通知(通过使用Dispatcher)。 希望有所帮助! kindrashunt