문제

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

다른 팁

You should use MenuItem.CommandParameter.

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

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top