4

我正在尝试访问 ContextMenu 中的 MenuItem,它本身就是国家资源的一部分

                    <TreeView.Resources>
                        <ContextMenu x:Key ="GroupContext"  StaysOpen="true">
                        <MenuItem Header="Blast to Whole Group" Click="BlastGroup_Click"/>
                        </ContextMenu>
                        <ContextMenu x:Key ="ContactContext"  Style="{x:Null}" Loaded="ContextMenu_Loaded">
                            <MenuItem Header="Delete Contact" Click ="ContactDelete_Click"/>
                            <MenuItem x:Name="ModifyGroupMenuItem" Header="Modify Grouping"  Style="{x:Null}">
                            </MenuItem>
                        </ContextMenu>
                </TreeView.Resources>

如何获得 ModifyGroupMenuItem?我找到了一个从 xaml 获取 ContextMenu WPF 控件引用的解决方案在代码端不可见

4

1 回答 1

7

通过对 Items 集合的索引,或通过查看逻辑树。

    ContextMenu menu = this.Resources["ContactContext"] as ContextMenu;

    MenuItem menuitemindex0 = menu.Items[0] as MenuItem;
    MenuItem menuitemindex1 = menu.Items[1] as MenuItem;

    MenuItem menuitembyname = LogicalTreeHelper.FindLogicalNode(menu, "ModifyGroupMenuItem") as MenuItem;
于 2012-09-09T15:10:26.753 回答