我是WPF的新手,所以我可能会遗漏一些东西。我的MainWindow类中有一个名为StartService的简单函数。我想用快捷键Ctrl + S向我的应用程序添加一个菜单项“Start Service”。我必须做以下事情:
在我的MainWindow课程中,我必须定义:
public static RoutedCommand StartServiceRoutedCmd = new RoutedCommand();
在我的XAML代码中,我添加了:
<MenuItem Header="_Start Service" InputGestureText="Ctrl+S" Click="OnStartService" />
<Window.CommandBindings>
<CommandBinding Command="{x:Static loc:MainWindow.StartServiceRoutedCmd}"
Executed="OnStartService" />
</Window.CommandBindings>
<Window.InputBindings>
<KeyBinding Command="loc:MainWindow.StartServiceRoutedCmd" Gesture="CTRL+S" />
</Window.InputBindings>
事情正在发挥作用。我想知道这是否是正确和有组织的方式去?我需要一个StopService函数的快捷方式。这是否意味着我需要为我需要的每个快捷方式定义一个新的RoutedCommand StopServiceRoutedCmd,等等?
答案 0 :(得分:2)
<MenuItem Header="_Start Service" InputGestureText="Ctrl+S" Command="loc:MainWindow.StartServiceRoutedCmd />
<Window.CommandBindings>
<CommandBinding Command="{x:Static loc:MainWindow.StartServiceRoutedCmd}"
Executed="OnStartService" />
</Window.CommandBindings>
<Window.InputBindings>
<KeyBinding Command="loc:MainWindow.StartServiceRoutedCmd" Gesture="CTRL+S" />
</Window.InputBindings>