Нужно создать меню, одна часть которого будет загружаться при запуске программы, а вторая часть будет статическая. Каким образом можно это реализовать?
ViewModel:
private List<IPlugin> _plugins;
public List<IPlugin> Plugins { get => _plugins; set { Set(ref _plugins, value); } }
View:
<Menu Name="MainMenu" Grid.Row="0">
<MenuItem Header="File">
<MenuItem Header="Open" Command="{Binding mMenuFileOpen_Click}"/>
<MenuItem Header="Save" Command="{Binding mMenuFileSave_Click}"/>
</MenuItem>
<MenuItem Header="Plugins">
/*Здесь должны быть плагины*/
</MenuItem>
</Menu>
Раз вы используете MVVM, тогда привязывайтесь через ItemsSource:
<MenuItem Header="Plugins" ItemsSource="{Binding Plugins}"/>
Чтобы настроить отображение плагинов, можно задать DisplayMemberPath. Например, если название плагина находится в свойстве Name, используйте
<MenuItem Header="Plugins" ItemsSource="{Binding Plugins}" DisplayMemberPath="Name"/>
Если вам нужно что-то более сложное, используйте ItemTemplate:
<MenuItem Header="Plugins" ItemsSource="{Binding Plugins}">
<MenuItem.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Name}" FontStyle="Italic"/>
</DataTemplate>
</MenuItem.ItemTemplate>
</MenuItem>
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости