在输出窗口中获取BindingExpression路径错误,但绑定工作正常

时间:2014-12-20 00:04:08

标签: wpf mvvm

在out project中,我们使用MVVM和WPF。 要绑定View和View Model,我们使用另一个类并将其称为presenter。此演示者类绑定视图和视图模型,因此我们可以将视图绑定到不同的视图模型。我将视图的数据上下文设置为此类中的viewmodel。

class presenter
{
     // in constructor or any method
     ViewModel = new ViewModelCls();
     View = new ViewXAMLName();

     View.DataContext = ViewModel;
}

现在,问题是,我在一个窗口中使用ContentControl,比如abc.xaml并将其内容设置为presenter.View。

<ContentControl  Content="{Binding SelectedOption.Presenter.View}"></ContentControl>

当我运行我的项目时,所有绑定都可以正常工作,并且Presenter.View将填充Presenter.ViewModel。但是在输出窗口中,我可以看到Presenter.ViewModel中存在的属性的许多绑定错误。

我尝试调试并发现对于SelectedOption.Presenter.View,它将DataContext设置为abc.xaml的ViewModel并尝试在该View模型中查找属性。但显然,它无法找到它并在输出窗口中写入所有这些绑定错误。稍后,它将VM设置为&#34; Presenter.ViewModel&#34;一切正常。

有没有办法从输出窗口中删除那些绑定错误? 在此先感谢!!

1 个答案:

答案 0 :(得分:0)

可以通过将绑定源级别设置为“严重”来抑制数据绑定错误。

System.Diagnostics.PresentationTraceSources.DataBindingSource.Switch.Level = System.Diagnostics.SourceLevels.Critical;

More information on this.