首页 > 代码库 > [原创]MvvmLight中用IDialogService替代DialogMessage的用法

[原创]MvvmLight中用IDialogService替代DialogMessage的用法

在新版的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:
        public IDialogService DialogService
        {
             get
            {
                return ServiceLocator.Current.GetInstance<IDialogService>();
            }
        }
使用时即为:
DialogService.ShowMessageBox("请输入名称!", "提示");

[原创]MvvmLight中用IDialogService替代DialogMessage的用法