2016-04-01 2 views
1

Я хотел бы знать, могу ли я создать динамически вложенный MenuItem с C#. Чтобы быть более точными у меня есть следующий код:Создайте динамически вложенное MenuItem в C#

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». С МОФ будет выглядеть так:

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

Для того, чтобы иметь возможность подменю, как п следующую картину:

enter image description here

ответ

1

Конечно, вы можете.

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

var subMi = new MenuItem(){ 
    Header = "mySubMenuItem" 
}; 
mi.Items.Add(subMi); 
Смежные вопросы