RoutedCommand with parameter
-
23-02-2021 - |
Pergunta
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
}
Solução
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";
Outras dicas
You should use MenuItem.CommandParameter.
For example, you could set binding to some property, from which parameter is delivered.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow