I'm playing around with RoutedCommand, and I'm having an issue with finding how can I pass a parameter so that my Executed method will have it in e.Parameter ?
My RoutedCommand:
public static readonly RoutedCommand Foo = new RoutedCommand();
Usage:
menuItem.Command = Commands.Foo;
Executed:
private void Foo_Executed(object sender, ExecutedRoutedEventArgs e)
{
object parameter = e.Parameter; // this is always null
}
You're parameter is always null
because you never set it anywhere
You can set it using the CommandParameter
property
menuItem.Command = Commands.Foo;
menuItem.CommandParameter = "Bar";