具有ItemsSource绑定的工具栏无法绑定到主VM

时间:2011-03-22 18:39:06

标签: wpf mvvm

我有一个工具栏,使用ItemsSource绑定到我的主VM。 每个项目都是一种ToolBarItem,它有,Icon,Command等...... 我的一个工具栏命令是在我的主VM(而不是ToolBarItem)上设置IsOptionsDialogOpen,我将PopUp.IsOpen(这是我的ToolBar模板的一部分)绑定到此属性,但它从不访问它,原因是,它是它的一部分我的主虚拟机,而不是ToolBarItem类。

我尝试用这种方式绑定:

IsOpen="{Binding IsOptionsDialogOpen, RelativeSource={RelativeSource FindAncestor,  AncestorType={x:Type ToolBar}}}"

但这也没有用,有什么想法吗?

1 个答案:

答案 0 :(得分:2)

绑定中的

RelativeSource [如果成功]将返回ToolBar本身,而不是DataContext。改变你的装订:

IsOpen="{Binding DataContext.IsOptionsDialogOpen, RelativeSource=...