我有一个 WPF 的 Textbox
,在允许失去键盘/焦点之前,我想检查文本值是否正确。
我尝试在 InputBox_LostFocus
和 InputBox_LostKeyboardFocus
事件中设置 e.Handled,但似乎没有达到我的目的。
请问如何锁定 Textbox
的焦点?
我有一个 WPF 的 Textbox
,在允许失去键盘/焦点之前,我想检查文本值是否正确。
我尝试在 InputBox_LostFocus
和 InputBox_LostKeyboardFocus
事件中设置 e.Handled,但似乎没有达到我的目的。
请问如何锁定 Textbox
的焦点?
最好的方法是处理PreviewLostKeyboardFocus事件,该事件在事件向下隧道传输到您的文本框时触发。将handle设置为true,没有其他内容会接收通知(这意味着焦点不会从您的文本框转移)。希望这可以帮助你。
UIElement
上调用Mouse.Capture
。这将使您获得发生在元素上或不在元素上的每个鼠标事件,但使用起来有些棘手。您可以在文本框上捕获鼠标并注册失去捕获事件,当您失去捕获时,您可以重新捕获。您必须注意奇怪的行为。通常,不允许用户离开字段是不好的做法(我认为)。更好的方法是允许他们做任何他们想做的事情,但在输入数据后禁用他们按下的按钮,直到所有字段都有效(或类似的操作)。