我遇到了在WPF MVVM应用程序中创建和显示窗口的理想解决方案的问题。应用程序的某些部分需要显示一些带有一些数据的窗口。我创建VM,设置其属性,创建View,分配其VM(在构造函数中),然后显示窗口。这是使用我命名为ViewController的类完成的,这个类的方法包含我的应用程序中每个窗口的参数。我认为可以有更好的解决方案,但不能过度设计。
答案 0 :(得分:0)
正常的解决方案是你有一个包装和实例化View ViewModel对的类。这通常称为屏幕。它会看起来像这样。
public class Screen<TView> where TView : Window
{
public Screen(TView view, object viewModel){
//store view and viewModel props
//display view
//set viewModel as DataContext of view
}
}
这是一个非常粗略的例子,有很多方法可以做到。