WPF:前两个的含义"相同" RoutedUICommand()中的参数

时间:2017-10-03 00:27:46

标签: c# wpf

在我查看的所有示例中,RoutedUICommand()的前两个参数都是相同的字符串,例如

private static RoutedUICommand add = new RoutedUICommand("Add", "Add", typeof(CommandLibrary));

他们之间有什么区别?

1 个答案:

答案 0 :(得分:1)

使用Visual Studio时,您可以使用工字栏上的F-12按F12来检查含义的元数据。
无论如何,使用构造函数RoutedUICommand(String, String, Type)第一个字符串是描述性文本,第二个是名称,第三个是所有者类型。它不必相同。
请考虑此示例here

public static RoutedCommand GreetUserCommand = new RoutedUICommand("Howdy! Just to say hello, nothing else.", "GreetUser", typeof(MainWindow));

和视图的用法:

<Window.CommandBindings>
    <CommandBinding Command="{x:Static loc:MainWindow.GreetUserCommand}" 
                    CanExecute="GreetUser_CanExecute" Executed="GreetUser_Executed"/>
</Window.CommandBindings>

<Window.ContextMenu>
    <ContextMenu>
        <MenuItem Command="{x:Static loc:MainWindow.GreetUserCommand}"/>
    </ContextMenu>
</Window.ContextMenu>