ContextMenu下的MenuItem未绑定到ViewModel

时间:2015-09-01 12:28:58

标签: c# wpf

我将两个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>

请帮助我使用代码段而不是引导我访问其他链接。我已经提到了很多链接,无法达成解决方案。

1 个答案:

答案 0 :(得分:0)

我怀疑部分问题出在DataContext的{​​{1}}。当我尝试重新创建代码时,我无法在绑定中指定ContextMenu

如果您只是想引用父Path=PlacementTarget.DataContext的{​​{1}},我建议 not 定义MenuItem DataContext }}。父DataContext的{​​{1}}将适用于所有子元素,包括子ContextMenu

MenuItem