首页 文章

将View绑定到ViewModel时绑定控件?

提问于
浏览
0

这是我的情况 . 我有一个View和一个ViewModel . 视图的DataContext设置为ViewModel . 由于使用了第三方控件,我不得不在代码隐藏中加入一些代码 . 在代码隐藏中,我创建了一个名为StraightConnectorTool的对象 .

在我的视图中,我需要绑定到此对象 . 如果在代码隐藏中设置了View的DataContext:

DataContext = this;

以下绑定工作正常 .

<BarItemToolBehavior ActiveTool="{Binding ActiveTool, ElementName=diagram, Mode=TwoWay}" 
                                 Tool="{Binding StraightConnectorTool}"/>

其中,图表是View上的第三方控件的名称,ActiveTool是其中一个属性 .

但是,如果View的DataContext设置为ViewModel,则绑定不起作用 . 当DataContext被设置为ViewModel时,我一直试图弄清楚如何绑定到视图 . 有任何想法吗?

1 回答

  • 1

    这不是好习惯,但您可以将BarItemToolBehavior的DataContext绑定到视图 . 在后面的代码中使用名称或在XAML中使用RelativeSource FindAncestor来查找视图 . 更好的解决方案是将该对象移动到它所属的VM .

相关问题