7

在我的应用程序中,我想用ShellToast.

只要跑...

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

...什么也没发生,据我所知,它需要从ScheduledTaskAgent. 但是我如何在命令上运行它,并确保它只运行一次?

4

2 回答 2

24

当应用程序是前台应用程序时,您不能使用 ShellToast。它意味着从后台服务调用,而应用程序不是前台应用程序。

如果您想拥有类似于 ShellToast 的 UX,请使用Coding4fun 工具包ToastPrompt 控件。这是一个代码片段,展示了如何使用它:

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

运行此代码段显示以下内容:

带图像的 ToastPrompt 控件

于 2012-12-20T22:22:09.233 回答
0

只是一个小更新:ShellToast在应用程序处于前台时使用,现在可以在使用 Windows Phone 8 Update 3 时使用。不过,它们会被其他活动(如电话或锁定屏幕)遮挡。来源

于 2014-01-23T20:13:21.687 回答