标签:rgs key cancel 函数 ioc eve question 成功 lang
原文:WPF 高级篇 MVVM (MVVMlight) 依赖注入使用Messagebox
MVVMlight 实现依赖注入 把弹框功能 和接口功能注入到各个插件中
使用依赖注入 先把所有的ViewModel都注册到到容器中 MVVMlight SimpleIoc 来实现注册
-
-
public ViewModelLocator()
-
-
SimpleIoc.Default.Register();
-
SimpleIoc.Default.Register();
-
SimpleIoc.Default.Register();
-
-
-
-
private MainViewModel mainViewModel ;
-
-
public MainViewModel MainViewModel
-
-
get { return mainViewModel = SimpleIoc.Default.GetInstance(Guid.NewGuid().ToString()); }
-
set { mainViewModel = value; }
-
-
-
-
private EditBookViewModel editBookViewModel ;
-
-
public EditBookViewModel EditBookViewModel
-
-
get { return editBookViewModel = SimpleIoc.Default.GetInstance(Guid.NewGuid().ToString()); }
-
set { editBookViewModel = value; }
-
Message 接口
-
public interface IDialogService
-
-
void ShowMessage(string message, string title = "提示");
-
bool Confirm(string message, string title = "询问");
-
实现类
-
public class DialogService:IDialogService
-
-
public void ShowMessage(string message, string title = "提示")
-
-
MessageBox.Show(message, title, MessageBoxButton.OK, MessageBoxImage.Information);
-
-
-
public bool Confirm(string message, string title = "询问")
-
-
var result = MessageBox.Show(message, title, MessageBoxButton.OKCancel, MessageBoxImage.Question);
-
if (result == MessageBoxResult.OK)
-
-
-
-
-
-
-
-
-
在每一个View Model 的构造函数里 定义接口对象
-
public EditBookViewModel(IDialogService dialogService)
-
-
-
DialogService = dialogService;
-
-
private IDialogService dialogService;
-
-
public IDialogService DialogService
-
-
get { return dialogService; }
-
set { dialogService = value; }
-
并使用方法
DialogService.ShowMessage(EditBookArgs.IsEdit ? "编辑成功" : "新增成功");
WPF 高级篇 MVVM (MVVMlight) 依赖注入使用Messagebox
标签:rgs key cancel 函数 ioc eve question 成功 lang
原文地址:https://www.cnblogs.com/lonelyxmas/p/12075815.html