C# 显示来自其他类的MessageBox的方法

C# 显示来自其他类的MessageBox的方法,c#,windows-phone-8,messagebox,C#,Windows Phone 8,Messagebox,我想根据该类中发生的某些活动向我的应用程序用户显示一个MessageBox。我只是想知道最好的办法是什么。我知道的一种方式似乎不是理想的 Deployment.Current.Dispatcher.BeginInvoke(() => { MessageBox.Show(MessageString, TitleString, MessageBoxButton.OK); }); 你可以试着干杯 ShellToast toast = new ShellToast(); toast.Ti

我想根据该类中发生的某些活动向我的应用程序用户显示一个MessageBox。我只是想知道最好的办法是什么。我知道的一种方式似乎不是理想的

Deployment.Current.Dispatcher.BeginInvoke(() =>
{
    MessageBox.Show(MessageString, TitleString, MessageBoxButton.OK);
});

你可以试着干杯

ShellToast toast = new ShellToast();
toast.Title = "[title]";
toast.Content = "[content]";
toast.Show();

那么IoC(依赖注入)呢?您可以准备
INotificationService
,该服务共享方法
NotifyUser(string msg,string title)
(和其他重载),实现它(使用您的代码),并通过construtor将实例传递给您想要的任何类?
MessageBox
不是通知用户某些事情的理想机制。您应该使用其他类型的邮件,不需要用户为接收的每条邮件单击按钮。也许某个状态行可以扩展为几行,但用户单击时不会出现这种情况。在这个类中,我有一些其他的代码逻辑需要决定,我想根据这些代码逻辑触发它。@pwas我是新来的。你能推荐一些关于国际奥委会入门的链接或教程吗。我试着看了看,但没有找到一个有用的链接。谢谢当应用程序是前台应用程序时,您不能使用ShellToast。当应用程序不是前台应用程序时,可以从后台服务调用该应用程序。在具有Windows Phone 8 Update 3的设备上,当目标应用程序在前台运行时,会显示toast通知,但会被其他活动(如电话呼叫或锁屏)遮挡。