컨텍스트 메뉴가 xaml에서 "하드 코드 된"경우 하위 메뉴를 쉽게 추가 할 수 있습니다. 예를 들면 :는컨텍스트 메뉴의 WPF 하위 메뉴
<ContextMenu>
<MenuItem Header="Comm1" Command="{Binding Blabla1}">
<MenuItem Header="SubComm1" Command="{Binding Blabla2}"></MenuItem>
</MenuItem>
<MenuItem Command="Comm2"></MenuItem>
<MenuItem Command="Comm3"></MenuItem>
</ContextMenu>
이것은의 ContextMenu 세 요소 (COMM1, Comm2 및 COMM3)를 가지며 COMM1은 하위 SubComm1을 갖는 것을 의미한다.
내가 좀 더 유연 제의 ContextMenu 만든 :
<ContextMenu ItemsSource="{Binding ContextMenuItemsSource}">
<ContextMenu.ItemContainerStyle>
<Style TargetType="MenuItem">
<Setter Property="Header" Value="{Binding ContextMenuCommandHeader}"></Setter>
<Setter Property="Command" Value="{Binding ContextMenuCommand}"></Setter>
</Style>
</ContextMenu.ItemContainerStyle>
</ContextMenu>
은 기본적으로 내가의 ContextMenu에있는 요소의 수에는 제한이 없습니다, 어떤 요소가 어떤 명령을 할 수 있습니다. ContextMenu 요소에 하위 메뉴를 추가하려면 어떻게해야합니까?
트리 데이터 구조를 ItemsSource에 바인딩하고 데이터를 MenuItems로 변환하는 Converter를 사용하십시오. –