Domanda

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
        }
È stato utile?

Soluzione

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";

Altri suggerimenti

You should use MenuItem.CommandParameter.

For example, you could set binding to some property, from which parameter is delivered.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top