Динамически привязанное меню

#wpf #mvvm

#wpf #mvvm

Вопрос:

я новичок в WPF.
у меня в этом меню администратора есть «управление A», «управление B», «управление C»

в моем XAML

 <MenuItem Header="_Admin" Name="adminMenuItem" Visibility="{Binding Path=IsAdmin, Mode=OneWay,}" >

 <MenuItem Header="manage A" Command="ShowTab" />
 <MenuItem Header="manage B" Command="ShowTab" />
 <MenuItem Header="manage C" Command="ShowTab" />            

</MenuItem>
  

в моем коде MainWindow.cs,

 private void ShowTab(MenuItem menuItem)
{
    if (menuItem.Header = "manage A")
        showTabA();
    if (menuItem.Header = "manage B")
        showTabB();
    if (menuItem.Header = "manage C")
        showTabC();
}
  

могу ли я связать menuitem с подобными командами? если нет, то каков наилучший способ получить значение из разных пунктов меню.

Большое спасибо

Ответ №1:

Укажите CommandParameter в MenuItems, который идентифицирует вкладку, и получите это значение из ExecutedRoutedEventArgs.Parameter свойства, это, по крайней мере, чище, чем использовать заголовок.