我将两个MenuItem作为一个菜单项的上下文菜单的一部分放置。我能够绑定父菜单项的DataContext,但不知何故,我无法将子MenuItems与父MenuItem的DataCOntext绑定。以下是代码段。
<MenuItem Name="miCommunityHealthIssues" Margin="3,3,3,6" Click="miCommunityHealthIssues_Click" DataContext="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=UserControl}}" Style="{StaticResource ShowMenuItemFilterStyle}">
<MenuItem.ContextMenu>
<ContextMenu DataContext="{Binding RelativeSource={RelativeSource Self}, Path=PlacementTarget.DataContext}">
<MenuItem Name="miShowComhealthIssues" IsCheckable="True" IsChecked="{Binding IncludeCommunityRecords}" Checked="MenuItem_Checked" Unchecked="MenuItem_Unchecked"/>
<MenuItem Name="miShowSupComhealthIssues" IsCheckable="True" IsChecked="{Binding IncludeSuppressedCommunityRecords}" Checked="miShowSupComhealthIssues_Checked" Unchecked="miShowSupComhealthIssues_Unchecked"/>
</ContextMenu>
</MenuItem.ContextMenu>
</MenuItem>
请帮助我使用代码段而不是引导我访问其他链接。我已经提到了很多链接,无法达成解决方案。
答案 0 :(得分:0)
我怀疑部分问题出在DataContext
的{{1}}。当我尝试重新创建代码时,我无法在绑定中指定ContextMenu
。
如果您只是想引用父Path=PlacementTarget.DataContext
的{{1}},我建议 not 定义MenuItem
DataContext
}}。父DataContext
的{{1}}将适用于所有子元素,包括子ContextMenu
:
MenuItem