WPF: привязка MenuItem.CommandParameter установлена в нуль
У меня есть следующее ContextMenu, определенное для моей сетки данных:
<igDP:XamDataGrid.ContextMenu>
<ContextMenu ItemsSource="{Binding CommandViewModels}" >
<ContextMenu.ItemContainerStyle>
<Style TargetType="MenuItem">
<Setter Property="Command" Value="{Binding Command}" />
<Setter Property="CommandParameter" Value="{Binding CommandParameter}" />
<Setter Property="Header" Value="{Binding Name}" />
<Setter Property="Icon" Value="{Binding Icon}" />
</Style>
</ContextMenu.ItemContainerStyle>
</ContextMenu>
</igDP:XamDataGrid.ContextMenu>
Класс CommandViewModel определяется следующим образом:
public class CommandViewModel : ICommandViewModel
{
public CommandViewModel(string name, Image icon, ICommand command, object commandParameter = null, int index = 0)
{
Name = name;
Icon = icon;
Command = command;
CommandParameter = commandParameter;
Index = index;
}
public string Name { get; set; }
public Image Icon { get; set; }
public ICommand Command { get; set; }
public object CommandParameter { get; set; }
public int Index { get; set; }
}
Когда я щелкаю правой кнопкой мыши по строке в сетке, каждый MenuItem в ContextMenu правильно оформляется. Значок, метка и команда MenuItem соответствуют ожидаемым. Однако параметр команды CommandViewModel.CommandParameter, который должен передаваться в качестве аргумента RelayCommand, привязанному к MenuItem.Command, равен нулю.
Я совершенно уверен, что параметр команды, доступный для привязки, не является нулевым. Это приложение WPF, работающее в .NET 4.0.
Кто-нибудь испытывал это?