2012-12-20 38 views
7

Trong đơn đăng ký của tôi, tôi muốn thông báo cho người dùng bằng số ShellToast.Tôi làm cách nào để tạo một trình bao bọc?

Chỉ cần bằng cách chạy ...

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

... làm gì xảy ra, và như tôi hiểu nó cần phải được chạy từ một ScheduledTaskAgent. Nhưng làm thế nào để tôi chạy lệnh này, và đảm bảo nó chỉ chạy một lần?

Trả lời

24

Bạn không thể sử dụng ShellToast trong khi ứng dụng là ứng dụng nền trước. Nó có nghĩa là để được gọi từ một dịch vụ nền trong khi ứng dụng không phải là ứng dụng nền trước.

Nếu bạn muốn có UX tương tự như của ShellToast, hãy sử dụng điều khiển ToastPrompt Coding4fun toolkit. Dưới đây là một đoạn mã cho thấy làm thế nào để sử dụng nó:

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)) 
     }; 
    } 

Chạy đoạn mã này cho thấy như sau:

ToastPrompt control with image

+0

Xin chào. Tôi đã thử mã này. Nó cung cấp lỗi truy cập luồng chéo không hợp lệ. Làm thế nào tôi có thể sửa chữa nó – PratPor

+0

Bạn phải chạy mã trong chuỗi chính. – Hyndrix

0

Chỉ cần một cập nhật nhỏ: sử dụng ShellToast khi ứng dụng trong foreground, bây giờ là có thể, khi sử dụng Windows Phone 8 Update 3. Mặc dù, chúng bị che khuất bởi các hoạt động khác như gọi điện thoại hoặc màn hình khóa. Source

+0

Tôi nghĩ bạn đọc sai, "thông báo bánh mì nướng được hiển thị khi ứng dụng mục tiêu đang chạy ở mặt trước _but_ bị che khuất bởi các hoạt động khác như cuộc gọi điện thoại hoặc màn hình khóa". – holmis83

Các vấn đề liên quan