小编Web*_*per的帖子

如何通过可视树从ContextMenu menuitem访问控件?

这似乎是一个非常受欢迎的话题,但......

我有以下XAML:

<internal:MyCommandObject x:Name="CommandModel"/>

<Button DockPanel.Dock="Bottom" Command="{Binding DoAction, ElementName=CommandModel}">
    <Button.ContextMenu>
        <ContextMenu DataContext="{Binding PlacementTarget, RelativeSource={RelativeSource Self}}">
            <MenuItem Command="{Binding DoAction, ElementName=CommandModel}"/>
        </ContextMenu>
    </Button.ContextMenu>
    Click Me
</Button>
Run Code Online (Sandbox Code Playgroud)

现在,MyCommandObject是一个从其公开动态命令的控件DataContext.你知道接下来会发生什么.:)

基本上,按钮命令工作正常 - 当我单击它时,DoAction命令就MyCommandObject完美地执行了.但是,menuitem中的命令不会被执行.我尝试过各种手段,例如设置上下文菜单datacontextplacementTarget这样它可以遍历控制等的可视化树,但没有在做.

我需要什么特定的对齐RelativeSourceCommandTarget符文才能使它工作?

wpf xaml binding contextmenu relativesource

6
推荐指数
1
解决办法
3260
查看次数

标签 统计

binding ×1

contextmenu ×1

relativesource ×1

wpf ×1

xaml ×1