我想要的是当用户按下Enter键时当前焦点对准的文本框失去焦点的时候。我能想到的唯一方法是通过使用XAML中的输入绑定(bind)将代码绑定(bind)到将整个文本框控件传递到 View 模型的代码中的命令。我不喜欢这种方法,希望有人能够以一种“干净”的方式解决这个问题。
最佳答案
您可以创建一个自定义文本框,并将其放入控件代码中:
public partial class CustomTextBox : TextBox
{
public CustomTextBox()
{
InitializeComponent();
}
protected override void OnKeyDown(KeyEventArgs e)
{
base.OnKeyDown(e);
if(e.Key == Key.Return)
Keyboard.ClearFocus();
}
}
然后,只需在需要该特定行为的地方使用自定义文本框即可。
关于c# - WPF MVVM在Enter键上取消选择文本框,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26551447/