2015-08-28 81 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