带参数的RoutedCommand

本文关键字:RoutedCommand 参数 | 更新日期: 2023-09-27 18:13:40

我正在玩RoutedCommand,我有一个问题,我如何才能传递一个参数,使我的执行方法将有它在e.p parameter ?

我RoutedCommand

:

public static readonly RoutedCommand Foo = new RoutedCommand();

用法:

menuItem.Command = Commands.Foo;
执行

:

private void Foo_Executed(object sender, ExecutedRoutedEventArgs e)
        {
            object parameter = e.Parameter; // this is always null
        }

带参数的RoutedCommand

你的参数总是null因为你从来没有在任何地方设置过它

您可以使用CommandParameter属性

设置它
menuItem.Command = Commands.Foo;
menuItem.CommandParameter = "Bar";

应该使用MenuItem.CommandParameter。

例如,您可以设置绑定到某个属性,从该属性传递参数。