我有一个工具栏,使用ItemsSource绑定到我的主VM。 每个项目都是一种ToolBarItem,它有,Icon,Command等...... 我的一个工具栏命令是在我的主VM(而不是ToolBarItem)上设置IsOptionsDialogOpen,我将PopUp.IsOpen(这是我的ToolBar模板的一部分)绑定到此属性,但它从不访问它,原因是,它是它的一部分我的主虚拟机,而不是ToolBarItem类。
我尝试用这种方式绑定:
IsOpen="{Binding IsOptionsDialogOpen, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ToolBar}}}"
但这也没有用,有什么想法吗?
答案 0 :(得分:2)
RelativeSource
[如果成功]将返回ToolBar
本身,而不是DataContext
。改变你的装订:
IsOpen="{Binding DataContext.IsOptionsDialogOpen, RelativeSource=...