RoutedCommand with parameter
-
23-02-2021 - |
Question
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
}
Solution
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";
OTHER TIPS
You should use MenuItem.CommandParameter.
For example, you could set binding to some property, from which parameter is delivered.
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow