Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ContextMenu下的MenuItem未绑定到ViewModel_C#_Wpf - Fatal编程技术网

C# ContextMenu下的MenuItem未绑定到ViewModel

C# ContextMenu下的MenuItem未绑定到ViewModel,c#,wpf,C#,Wpf,我有两个菜单项,作为一个菜单项上下文菜单的一部分。我可以绑定父菜单项的DataContext,但不知何故,我无法将子菜单项与父菜单项的DataContext绑定。下面是代码片段 <MenuItem Name="miCommunityHealthIssues" Margin="3,3,3,6" Click="miCommunityHealthIssues_Click" DataContext="{Binding RelativeSource={RelativeSource Mode=

我有两个菜单项,作为一个菜单项上下文菜单的一部分。我可以绑定父菜单项的DataContext,但不知何故,我无法将子菜单项与父菜单项的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>


请帮助我的代码片段,而不是指导我到另一个链接。我已经参考了很多链接,无法找到解决方案

我怀疑问题的一部分在
上下文菜单的
数据上下文中。尝试重新创建代码时,无法在绑定中指定
Path=PlacementTarget.DataContext

如果您只是试图引用父级
MenuItem
DataContext
,我建议不要定义
ContextMenu
DataContext
。父
MenuItem
DataContext
将应用于所有子元素,包括子
MenuItem
s:

<MenuItem Name="miCommunityHealthIssues" Margin="3,3,3,6" Click="miCommunityHealthIssues_Click" DataContext="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=UserControl}}" Style="{StaticResource ShowMenuItemFilterStyle}">
    <MenuItem.ContextMenu>
        <!-- no datacontext definition necessary -->
        <ContextMenu> 
            <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>

我怀疑问题的一部分在
上下文菜单的
数据上下文中。尝试重新创建代码时,无法在绑定中指定
Path=PlacementTarget.DataContext

如果您只是试图引用父级
MenuItem
DataContext
,我建议不要定义
ContextMenu
DataContext
。父
MenuItem
DataContext
将应用于所有子元素,包括子
MenuItem
s:

<MenuItem Name="miCommunityHealthIssues" Margin="3,3,3,6" Click="miCommunityHealthIssues_Click" DataContext="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=UserControl}}" Style="{StaticResource ShowMenuItemFilterStyle}">
    <MenuItem.ContextMenu>
        <!-- no datacontext definition necessary -->
        <ContextMenu> 
            <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>


恐怕您的解决方案不起作用。谢谢你调查这件事。我遗漏了一件非常微小的事情,这阻碍了我找到解决方案。你测试过这个代码吗?如果它在你的环境中工作,那么我想知道我的失败是什么。如果您还有什么要分享的,请告诉我。恐怕您的解决方案不起作用。谢谢你调查这件事。我遗漏了一件非常微小的事情,这阻碍了我找到解决方案。你测试过这个代码吗?如果它在你的环境中工作,那么我想知道我的失败是什么。如果你还有什么要分享的,请告诉我。