【发布时间】:2012-08-29 07:23:01
【问题描述】:
似乎无法将我的上下文菜单中的菜单项绑定到我的视图模型中的命令。我知道上下文菜单不在可视树中。出于测试目的,我在一个按钮中绑定了两次相同的命令。第一个绑定有效,但我可以在上下文菜单中获得第二个绑定来绑定。我可以在输出中看到绑定错误。有人知道吗?
<HierarchicalDataTemplate DataType="{x:Type inf:OSiteEquipment}" ItemsSource="{Binding Path=SubSystems, Converter={StaticResource subsystemConverter}}" >
<Button HorizontalContentAlignment="Left"
Command="{Binding DataContext.CommandOpenSelected, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type UserControl}}}"
CommandParameter="{Binding}">
<TextBlock Text="{Binding Path=PartData.Name}" TextTrimming="CharacterEllipsis" />
<Button.ContextMenu>
<ContextMenu>
<MenuItem Header="Add Category" Command="{Binding Path=Parent.PlacementTarget.Tag.CommandOpenSelected, RelativeSource={RelativeSource AncestorType=ContextMenu}}" />
</ContextMenu>
</Button.ContextMenu>
</Button>
</HierarchicalDataTemplate>
【问题讨论】:
-
能否给出绑定错误?
-
System.Windows.Data 错误:4:找不到与引用'RelativeSource FindAncestor,AncestorType='System.Windows.Controls.ItemsControl',AncestorLevel='1''的绑定源。绑定表达式:路径=垂直内容对齐;数据项=空;目标元素是'TreeViewItem'(名称='');目标属性是“VerticalContentAlignment”(类型“VerticalAlignment”)
标签: wpf contextmenu