c# - 在 C# 中创建动态嵌套的 MenuItem

标签 c# wpf menuitem

我想知道是否可以使用 C# 动态创建嵌套的 MenuItem。更准确地说,我有以下代码:

public override List<object> ContextMenu
        {
            get
            {

                var result = new List<object>
                {
                    new MenuItem
                    {
                        Header = "Drive",
                        Command = Drive_Command,
                    }, 
                };

                var message = new ContextMenuBuild<HostVM>(this);
                Messenger.Send(message);
                AddExternalContextMenu(result, message.Items);
                return result;
            }
}

我想要实现的是一个嵌套的 MenuItem,即“mySubMenuItem”。使用 wpf 会是这样的:

<ContextMenu>
            <MenuItem Header="Drive" Command="Drive_Command">
                <MenuItem Header="mySubMenuItem"/>   
            </MenuItem> 
</ContextMenu>

为了能够有如下图所示的子菜单:

enter image description here

最佳答案

当然可以。

var mi = new MenuItem(){
    Header = "Drive"
};

var subMi = new MenuItem(){
    Header = "mySubMenuItem"
};
mi.Items.Add(subMi);

关于c# - 在 C# 中创建动态嵌套的 MenuItem,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36362544/

相关文章:

c# - XAML:更改 DataContext 时更新绑定(bind)

javascript - 仅在Mac以外的设备上添加子菜单项: Electron JS

c# - 为什么没有正确引发数据绑定(bind)完成事件?

c# - Xamarin:从(共享项目)加载数据库的 Assets 路径

c# - C# 和 ASP.NET 中的换行符有什么变化? (\r\n 与\n)

c# - UWP MediaCapture-录制WAV音频,采样率16000,16位,单声道

c# - ComputedVerticalScrollBarVisibility 触发器在使用绑定(bind)/转换器时不起作用

c# - WPF:将 DataGridTemplateColumn 中的元素绑定(bind)到另一个 DataGridTemplateColumn 中的元素

android - 菜单项动画,无限旋转其自定义图标

Android 菜单,在运行 onPrepareOptionsMenu 时抛出 IndexOutOfBoundsException