SearchBox.FocusOnKeyboardInput 属性

定义

获取或设置一个值,该值确定用户是否可以通过在应用中的任意位置键入进行搜索。

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 控件中创建重复字符的问题。 可以按照以下步骤解决此问题:

  1. 在 SearchBox 收到焦点后禁用 FocusOnKeyboardInput。 为此,请注册 PrepareForFocusOnKeyboardInput 事件,并使用事件处理程序将 FocusOnKeyboardInput 设置为 false
  2. 当 SearchBox 失去焦点时,将 FocusOnKeyboardInput 重新设置为 true。 为此,请注册 LostFocus 事件并使用事件处理程序将 FocusOnKeyboardInput 设置回 true

当 FocusOnKeyboardInput 为 true 时,将截获当前线程上的键盘输入,并将文本输入重定向到 SearchBox。 只有文本输入会导致 SearchBox 接收焦点。 非文本键(如箭头或 Tab)不会重定向到 SearchBox。 除用于粘贴) 的 Ctrl-V 外, (的 WIN/CTRL/Alt 组合键也不会重定向。

若要执行更多操作,而不仅仅是在 SearchBox 中设置焦点(例如使控件可见),请处理 PrepareForFocusOnKeyboardInput 事件。

如果用户将焦点设置在其他可编辑文本字段上,则应将 FocusOnKeyboardInput 设置为 false

若要详细了解何时应让用户键入进行搜索,请参阅 搜索指南和清单

适用于

另请参阅