C# 如何使文本框同时侦听按键事件和InputBinding
我在WPF中的程序中创建了一个登录站点,您可以在其中输入凭据,然后按enter键或下面的按钮。该按钮有一个命令(用于视图模型绑定)和一个单击事件(我在代码中得到了一个AutoResetEvent,如果登录在一秒钟内没有成功,它会震动文本框) 现在,我对文本框也做了同样的尝试:命令和事件。这是我目前的文本框:C# 如何使文本框同时侦听按键事件和InputBinding,c#,wpf,events,textbox,command,C#,Wpf,Events,Textbox,Command,我在WPF中的程序中创建了一个登录站点,您可以在其中输入凭据,然后按enter键或下面的按钮。该按钮有一个命令(用于视图模型绑定)和一个单击事件(我在代码中得到了一个AutoResetEvent,如果登录在一秒钟内没有成功,它会震动文本框) 现在,我对文本框也做了同样的尝试:命令和事件。这是我目前的文本框: <TextBox Margin="0,0,0,10" Text="{Binding Username}" KeyDown="MainWindow_KeyDown">
<TextBox Margin="0,0,0,10" Text="{Binding Username}" KeyDown="MainWindow_KeyDown">
<TextBox.InputBindings>
<KeyBinding
Key="Enter"
Command="{Binding KeyPressCommand}" />
</TextBox.InputBindings>
</TextBox>
这是我的按钮:
<Button Command="{Binding ConnectCommand}" Content="Connect" Background="#E9712F" Margin="0,10,0,0" FontFamily="Arial" FontWeight="Bold" Foreground="White" Cursor="Hand" Click="Button_Click"/>
按钮起作用,它触发事件并发送命令。但是文本框完全忽略事件,只向视图模型发送命令
是否有一种方法可以同时触发事件和命令?而不是
KeyDown
事件使用PreviewKeyDown
已更新
对于通常由WPF处理的导航键,不会引发KeyDown
事件,但是PreviewKeyDown
事件也支持这些键
也许有帮助:但为什么?有什么区别?