我使用PromptTextBox,当Text
为空且IsKeyboardFocusWithin
为空时,会在其内部显示提示文字。
问题是当我启动新窗口时,它会自动将键盘焦点放在第一个TextBox上,因此不会显示提示文本(但这种行为是可以接受的)。
如果我想取消键盘焦点,我必须单击其他控件(例如,单击一个按钮,单击另一个TextBox),我无法单击空白区域以取消键盘焦点。
我也测试普通的TextBox,它的行为是一样的。所以问题是:
一旦我通过点击空白区域将键盘聚焦在TextBox上,我该如何取消键盘对焦?
答案 0 :(得分:0)
在MouseDown
的{{1}}事件处理程序中,如果您有任何其他控件,请关注其他控件。或者,你需要一个不可见/不在视野范围内的TextBox来关注:
'blank space'
没有其他办法。聚焦窗口本身将把焦点转移到第一个可聚焦的子控件上。
答案 1 :(得分:0)
只需使用Keyboard.ClearFocus()
即可https://msdn.microsoft.com/en-us/library/system.windows.input.keyboard.clearfocus.aspx