SearchBox.FocusOnKeyboardInput 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取或设置一个值,该值确定用户是否可以通过在应用中的任意位置键入进行搜索。
public:
property bool FocusOnKeyboardInput { bool get(); void set(bool value); };
bool FocusOnKeyboardInput();
void FocusOnKeyboardInput(bool value);
public bool FocusOnKeyboardInput { get; set; }
var boolean = searchBox.focusOnKeyboardInput;
searchBox.focusOnKeyboardInput = boolean;
Public Property FocusOnKeyboardInput As Boolean
<SearchBox FocusOnKeyboardInput="bool"/>
属性值
Boolean
bool
如果用户可以通过在应用中的任意位置键入进行搜索,则为 true;否则为 false。 默认值为 false。
注解
注意
当 FocusOnKeyboardInput 设置为 true 时,使用触摸键盘时,有时会在 SearchBox 控件中创建重复字符的问题。 可以按照以下步骤解决此问题:
- 在 SearchBox 收到焦点后禁用 FocusOnKeyboardInput。 为此,请注册 PrepareForFocusOnKeyboardInput 事件,并使用事件处理程序将 FocusOnKeyboardInput 设置为 false。
- 当 SearchBox 失去焦点时,将 FocusOnKeyboardInput 重新设置为 true。 为此,请注册 LostFocus 事件并使用事件处理程序将 FocusOnKeyboardInput 设置回 true。
当 FocusOnKeyboardInput 为 true 时,将截获当前线程上的键盘输入,并将文本输入重定向到 SearchBox。 只有文本输入会导致 SearchBox 接收焦点。 非文本键(如箭头或 Tab)不会重定向到 SearchBox。 除用于粘贴) 的 Ctrl-V 外, (的 WIN/CTRL/Alt 组合键也不会重定向。
若要执行更多操作,而不仅仅是在 SearchBox 中设置焦点(例如使控件可见),请处理 PrepareForFocusOnKeyboardInput 事件。
如果用户将焦点设置在其他可编辑文本字段上,则应将 FocusOnKeyboardInput 设置为 false 。
若要详细了解何时应让用户键入进行搜索,请参阅 搜索指南和清单。