コンテキスト メニューが xaml で「ハードコード」されている場合、サブメニューを簡単に追加できます。例えば:
<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 には 3 つの要素 (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要素にサブメニューを追加するにはどうすればよいですか?