【发布时间】:2017-09-29 21:53:30
【问题描述】:
这是我的情况。我有一个视图和一个视图模型。视图的 DataContext 设置为 ViewModel。由于使用了第 3 方控件,我不得不在代码隐藏中放置一些代码。在代码隐藏中,我创建了一个名为 StraightConnectorTool 的对象。
在我看来,我需要绑定到这个对象。如果在后台代码中设置了 View 的 DataContext:
DataContext = this;
以下绑定工作正常。
<BarItemToolBehavior ActiveTool="{Binding ActiveTool, ElementName=diagram, Mode=TwoWay}"
Tool="{Binding StraightConnectorTool}"/>
其中 diagram 是 View 上第 3 方控件的名称,ActiveTool 是它的属性之一。
但是,如果 View 的 DataContext 设置为 ViewModel,则绑定不起作用。当 DataContext 设置为 ViewModel 时,我一直试图弄清楚如何绑定到视图。有什么想法吗?
【问题讨论】:
-
this.DataContext = this;是 WPF MVVM 的毒瘤。 This article explains why 你会注意到它有点长,但化疗也是如此。
标签: wpf mvvm data-binding