9

コンテキスト メニューが 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要素にサブメニューを追加するにはどうすればよいですか?

4

2 に答える 2