C# WPF菜单项:如何将子菜单项命令绑定到其父菜单项

C# WPF菜单项:如何将子菜单项命令绑定到其父菜单项,c#,wpf,menuitem,C#,Wpf,Menuitem,我想将具有自己构建配置上下文的例如“Debug | Any CPU”MenuItem命令绑定到项目上下文BuildProjectCommand。 如何正确地做 我已经试着用FindAncestor来完成这项工作,但它不起作用。 e、 g.Command=“{Binding Path=DataContext.BuildCommand,RelativeSource={RelativeSource FindAncestor,AncestorType={x:Type MenuItem}}}}” 请参阅图

我想将具有自己构建配置上下文的例如“Debug | Any CPU”MenuItem命令绑定到项目上下文BuildProjectCommand。 如何正确地做

我已经试着用FindAncestor来完成这项工作,但它不起作用。 e、 g.
Command=“{Binding Path=DataContext.BuildCommand,RelativeSource={RelativeSource FindAncestor,AncestorType={x:Type MenuItem}}}}”

请参阅图片以了解更多信息:

我已经制作了一个快速原型,下面的绑定应该可以像您期望的那样工作:

<DataTemplate DataType="{x:Type commmon:BuildConfiguration}">
    <TextBlock x:Name="ConfigBlock">
        <Run Text="{Binding Name, Mode=OneWay}"/>
        <TextBlock.InputBindings>
            <MouseBinding MouseAction="LeftClick" 
                          Command="{Binding DataContext.BuildCommand, 
                          RelativeSource={RelativeSource AncestorLevel=2, 
                          AncestorType={x:Type MenuItem}}}">
            </MouseBinding>
        </TextBlock.InputBindings>
    </TextBlock>
</DataTemplate>


绑定弹出菜单可能会变得棘手,因为它们与可视树“断开”的方式,它们不会以您期望的方式继承
DataContext
。不过有一些你可以用。谢谢!这一级别就是黑客:P