我有两种方法来初始化WPF CAL MVVM中的Views和ViewModel.
1 - 似乎更受欢迎.需要您解析ViewModel以自动解析View.ViewModel包含有关View的信息.
public interface IView
{
void SetModel(IViewModel model);
}
public interface IViewModel
{
IView View { get; }
}
public class View
{
public void SetModel(IViewModel model)
{
this.DataContext = model;
}
}
public class ViewModel
{
private IView view;
public ViewModel(IView view)
{
this.view = view;
}
public IView View { return this.view; }
}
Run Code Online (Sandbox Code Playgroud)
2 - 看起来更清洁,并从ViewModel中删除View.需要您解析视图以自动解析ViewModel.将对象注入视图(不确定这是否合适).
public interface IView
{
}
public interface IViewModel
{
}
public class View
{
private IViewModel …Run Code Online (Sandbox Code Playgroud)