代码之家  ›  专栏  ›  技术社区  ›  killika

WPF MenuItem:如何将SubMenuItem命令绑定到其父MenuItem

  •  1
  • killika  · 技术社区  · 7 年前

    我已经试着用FindAncestor实现这一点,但它不起作用。 Command="{Binding Path=DataContext.BuildCommand, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type MenuItem}}}"

    请参阅图片以了解更多信息: enter image description here

    1 回复  |  直到 4 年前
        1
  •  2
  •   shadow32    7 年前

    我已经制作了一个快速的原型,下面的绑定应该可以按照您的预期工作:

    <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>