我有一个带有菜单的简单 WPF 应用程序。我需要在运行时动态添加菜单项。当我简单地创建一个新菜单项并将其添加到其父 MenuItem 时,无论是否调用 UpdateLayout,它都不会显示在菜单中。
要允许菜单在运行时动态添加其他项目,必须做什么?
注意:以下代码不起作用。
MenuItem mi = new MenuItem();
mi.Header = "Item to add";
mi.Visibility = Visibility.Visible;
//addTest is a menuitem that exists in the forms defined menu
addTest.Items.Add(mi);
addTest.UpdateLayout();
目前,默认菜单项是在 xaml 文件中定义的。我想在此菜单及其现有菜单项上添加其他菜单项。然而,如前所述,上面的代码什么也没做。
最佳答案
//Add to main menu
MenuItem newMenuItem1 = new MenuItem();
newMenuItem1.Header = "Test 123";
this.MainMenu.Items.Add(newMenuItem1);
//Add to a sub item
MenuItem newMenuItem2 = new MenuItem();
MenuItem newExistMenuItem = (MenuItem)this.MainMenu.Items[0];
newMenuItem2.Header = "Test 456";
newExistMenuItem.Items.Add(newMenuItem2);
关于c# - WPF:如何在运行时向菜单添加新的菜单项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/291522/