通过绑定创建其他上下文菜单项



我需要一个基于列表的其他项目的上下文菜单。
目前,我是通过循环浏览列表并添加这样的项目来做到这一点:

var MyItemsList = new List<string>{
 "item1"
 "item2"
};
myContextMenu.Items.Clear();
foreach (var item in MyItemsList)
{
    var menuItem = new MenuItem();
    menuItem.Header = item;
    menuItem.Click += (sender, args) => HandleItem(item);
    myContextMenu.Items.Add(menuItem);
}
myContextMenu.Add(new MenuItem {Header = "Static item"}); //etc, etc

如何使用绑定在XAML中执行此操作?

您必须将所有内容都放在集合中,并将该集合设置为ContextMenuItemsSource。您不能仅设置一半的菜单。虽然您可以使用嵌套菜单,您可以为其设置ItemsSource

例如,您可以:

  • menuitem1
  • menuitem2
  • menuitem3
    • submenu1
    • submenu2

menuitem3的ItemsSource集。

最新更新