Prism ViewLocator:如何修复"你的观点必须实现IView"

J4N*_*J4N 8 c# wpf xaml prism mvvm

我正在开始一个WPF应用程序.我用Prism和它ViewLocator.

这意味着当我有一个必须ViewModel绑定它的View 时,我必须在其上进行指示mvvm:ViewModelLocator.AutoWireViewModel="True"并使其IView在后面的代码中实现我所做的接口.

在我的小测试应用程序中,每件事都运行正常,我得到了我的ViewModel,它被设置为我的View的DataContext.

问题是我正在使用的每个地方mvvm:ViewModelLocator.AutoWireViewModel="True",我在"错误列表"中收到此错误:

"你的观点必须实施IView"

根据我的理解,问题是xaml编辑器似乎没有检查我的代码后面的代码是否实现了这个接口.

那么如何避免这个错误呢?

dyt*_*ori 2

当您在 XAML 中找到视图模型时,XAML 编辑器会给出错误消息。您可以在后面的代码中完成这项工作:

public MainWindow() {
  InitializeComponent();
  ViewModelLocationProvider.AutoWireViewModelChanged(this);
}
Run Code Online (Sandbox Code Playgroud)

然后不会显示任何错误消息。