在新版的MvvmLight中,DialogMessage被标注为已过时,需要用IDialogService来替代,IDialogService的具体用法如下:
先在主窗体中实现IDialogService :
public partial class MainWindow : Window, IDialogService
public System.Threading.Tasks.Task ShowError(Exception error, string title, string buttonText, Action afterHideCallback) { throw new NotImplementedException(); }
public System.Threading.Tasks.Task ShowError(string message, string title, string buttonText, Action afterHideCallback) { throw new NotImplementedException(); }
public System.Threading.Tasks.Task<bool> ShowMessage(string message, string title, string buttonConfirmText, string buttonCancelText, Action<bool> afterHideCallback) { throw new NotImplementedException(); }
public System.Threading.Tasks.Task ShowMessage(string message, string title, string buttonText, Action afterHideCallback) { throw new NotImplementedException(); }
public System.Threading.Tasks.Task ShowMessage(string message, string title) { //throw new NotImplementedException(); MessageBox.Show(message, title); return null; }
public System.Threading.Tasks.Task ShowMessageBox(string message, string title) { //throw new NotImplementedException(); MessageBox.Show(message, title); return null; }
然后在其它窗体中登记IDialogService:
然后在其它窗体中登记IDialogService:
public IDialogService DialogService
{
get
{
return ServiceLocator.Current.GetInstance<IDialogService>();
}
}
使用时即为:
DialogService.ShowMessageBox("请输入名称!", "提示");