C# 如何使文本框同时侦听按键事件和InputBinding

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">

我在WPF中的程序中创建了一个登录站点,您可以在其中输入凭据,然后按enter键或下面的按钮。该按钮有一个命令(用于视图模型绑定)和一个单击事件(我在代码中得到了一个AutoResetEvent,如果登录在一秒钟内没有成功,它会震动文本框)

现在,我对文本框也做了同样的尝试:命令和事件。这是我目前的文本框:

<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
事件也支持这些键


也许有帮助:

但为什么?有什么区别?