我知道“_”而不是“&”但如何将F1,F2 ...键指定给一个按钮? 这是一个小应用程序,我不是直接点击事件处理程序使用命令,但我可以在必要时使用命令
答案 0 :(得分:7)
很容易... 试试吧....跟我来
在Xaml文件中:
<Window.Resources>
<RoutedUICommand x:Key="cmd1"></RoutedUICommand>
</Window.Resources>
<Window.CommandBindings>
<CommandBinding Command="{StaticResource cmd1}" Executed="btn_font_Click"> </CommandBinding>
</Window.CommandBindings>
<Window.InputBindings>
<KeyBinding Key="F1" Command="{StaticResource cmd1}"></KeyBinding>
</Window.InputBindings>
<Button Command="{StaticResource cmd1}" Name="btn_font" Grid.Column="2" Grid.Row="1" Width="60" Height="25" Content="Enter" Click="btn_font_Click" Margin="10,2"/>
在Cs文件中:
private void btn_font_Click(object sender, RoutedEventArgs e)
{
Font_Chooser fc = new Font_Chooser();
fc.ShowDialog();
}
答案 1 :(得分:5)
在我正在进行的小型项目中,我有这个:
<Window.Resources>
<c:CommandReference x:Key="ExitCommandReference" Command="{Binding ExitCommand}" />
<c:CommandReference x:Key="ReloadCommandReference" Command="{Binding ReloadCommand}" />
</Window.Resources>
<Window.InputBindings>
<KeyBinding Key="F4" Modifiers="Alt" Command="{StaticResource ExitCommandReference}" />
<KeyBinding Key="F5" Command="{StaticResource ReloadCommandReference}"/>
</Window.InputBindings>
在代码中:
private DelegateCommand exitCommand;
private DelegateCommand reloadCommand;
public ICommand ExitCommand { get { return exitCommand ?? (exitCommand = new DelegateCommand(Exit)); } }
public ICommand ReloadCommand { get { return reloadCommand ?? (reloadCommand = new DelegateCommand(Reload)); } }
private static void Exit() { Application.Current.Shutdown(); }
private void Reload() { LoadData(); }