上下文菜单的WPF子菜单

如果上下文菜单在xaml中是“硬编码”的,则很容易添加子菜单。 例如:

       

这意味着,ContextMenu有三个元素(Comm1,Comm2和Comm3),Comm1有子菜单SubComm1。

我使ContextMenu更加灵活:

         

基本上我在ContextMenu中可以有任意数量的元素,任何元素都可以有任何Command。 如何将子菜单添加到ContextMenu元素?

您可以将MenuItem.ItemsSource设置为嵌套集合。 这将为任何menuitem生成子菜单。 为此,支持MenuItem的模型应该包含子菜单集合

      

同样,您可以设置MenuItem.ItemContainerStyleMenuItem.ItemTemplate来设置子菜单的样式。