Я привязываю ItemSource моего MenuItem к ObservableCollection в моей ViewModel. Вот мой xaml:
<MenuItem Header="_View"
ItemsSource="{Binding Windows}">
<MenuItem.ItemContainerStyle>
<Style>
<Setter Property="MenuItem.Header"
Value="{Binding Title}" />
</Style>
</MenuItem.ItemContainerStyle>
</MenuItem>
Эта часть отлично работает, но теперь я также хочу добавить некоторые статические объекты MenuItems в один и тот же элемент Menu View, разделенный разделителем. Что-то вроде этого, хотя я знаю, что это не сработает, потому что я не могу установить элементы дважды.
<MenuItem Header="_View"
ItemsSource="{Binding Windows}">
<MenuItem.ItemContainerStyle>
<Style>
<Setter Property="MenuItem.Header"
Value="{Binding Title}" />
</Style>
</MenuItem.ItemContainerStyle>
<Separator />
<MenuItem Header="item 1" />
<MenuItem Header="item 2" />
</MenuItem>
На данный момент я создал работу, добавив еще один уровень в MenuItem следующим образом:
<MenuItem Header="_View">
<MenuItem Header="Windows"
ItemsSource="{Binding Windows}">
<MenuItem.ItemContainerStyle>
<Style>
<Setter Property="MenuItem.Header"
Value="{Binding Title}" />
</Style>
</MenuItem.ItemContainerStyle>
</MenuItem>
<MenuItem Header="Load Layout" />
<MenuItem Header="Save Layout" />
</MenuItem>
Это отлично работает, но я бы предпочел не иметь подменю, если это вообще возможно. О, и я также предпочел бы сделать это в xaml вместо кода. Любые идеи?