【发布时间】:2022-01-09 05:01:37
【问题描述】:
我有一个绑定了命令的按钮以及 F1 键的键绑定。当焦点位于该按钮上时, Enter 键也会触发我不想要的命令。我希望仅在 F1 和鼠标单击时触发按钮。如何禁用此 Enter 键?
<Button Name="TestButton" Content="Run (F1)" Margin="10,4" Width="100" FontSize="16" Command="{Binding TestRunCommand}">
<Button.Style>
<Style TargetType="Button" BasedOn="{StaticResource ResourceKey=BlackButton}">
<Style.Triggers>
<DataTrigger Binding="{Binding IsEnabled,ElementName=TestButton}" Value="True">
<Setter Property="FocusManager.FocusedElement" Value="{Binding ElementName=TestButton}"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>
我的按键绑定如下:
<UserControl.InputBindings>
<KeyBinding Key="F1" Command="{Binding Path=TestViewModel.TestRunCommand}"/>
</UserControl.InputBindings>
当我移除焦点触发器时,F1 键也不起作用。所以,我让 F1 键的这个 Setter 属性起作用。
【问题讨论】:
标签: c# wpf xaml user-interface binding