Привязка данных ContextMenu MenuItems к существующим пунктам меню MenuItem

Учитывая меню с именем "main", я хочу написать разметку следующим образом:

<Window.ContextMenu>
    <ContextMenu ItemsSource="{Binding ElementName=main, Path=Items}" />
</Window.ContextMenu>

Это не работает - похоже, создается пустое ContextMenu.

Это разметка для меню:

<Menu Name="main" Grid.ColumnSpan="2" FontSize="14" DockPanel.Dock="Top" HorizontalAlignment="Stretch">
    <MenuItem Header="_File">
        <MenuItem Header="_Exit" Command="Close" />
    </MenuItem>
    <MenuItem Header="_Options">
        <MenuItem Header="_Show status bar" IsCheckable="True" />
        <MenuItem Header="_Group numbers" IsCheckable="True" />
    </MenuItem>
<MenuItem Header="_About" />

1 ответ

Решение

Решение здесь достаточно для моих нужд, хотя оно и не использует привязку данных, а массив элементов меню в качестве ресурса.

Теоретически было бы интересно узнать, возможно ли это как-то.

Другие вопросы по тегам