Работа над приложением WPF с использованием структуры MVVM.
Мое окно отображает меню и текущую модель просмотра. В одном из элементов Menu Menu я хочу перечислить некоторые команды, найденные в текущей ViewModel. Команды, перечисленные в меню, будут меняться в зависимости от модели представления.
Я получил это, чтобы работать просто отлично, но стиль испорчен - Command MenuItems находятся в другом окне меню или что-то в этом роде. Я прикреплю скриншот.
Я обернул объекты ICommand ViewModel (в данном случае RelayCommands) в CommandViewModel, которые представляют команду и строку отображения, которую я хочу, в меню. Эти CommandViewModels находятся в списке: CurrentWorkspace.AdditionalOptionsCommands
.
Вот XAML для меню. Как я уже сказал, это работает, показывает правильные элементы и команды выполняются. Дисплей просто неверный - кто-нибудь может подсказать почему и как это исправить? Смотрите скриншот.
<Menu>
<MenuItem Header="_Additional Options..." ItemsSource="{Binding Path=CurrentWorkspace.AdditionalOptionsCommands}">
<MenuItem.ItemTemplate>
<DataTemplate DataType="{x:Type vm:CommandViewModel}">
<MenuItem Header="{Binding Path=DisplayText}" Command="{Binding Path=Command}"/>
</DataTemplate>
</MenuItem.ItemTemplate>
</MenuItem>
<MenuItem Header="_Testing">
<MenuItem Header="This looks right" />
<MenuItem Header="This looks right" />
</MenuItem>
</Menu>
Текущий внешний вид:
Желаемый внешний вид: