Freigeben über


SearchBox.FocusOnKeyboardInput Eigenschaft

Definition

Ruft einen Wert ab, der bestimmt, ob ein Benutzer suchen kann, indem er an einer beliebigen Stelle in der App eingibt, oder legt diesen fest.

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"/>

Eigenschaftswert

Boolean

bool

true , wenn der Benutzer suchen kann, indem er an einer beliebigen Stelle in der App eingibt; andernfalls false. Der Standardwert ist FALSE.

Hinweise

Hinweis

Wenn FocusOnKeyboardInput auf true festgelegt ist, gibt es ein Problem, das manchmal doppelte Zeichen im SearchBox-Steuerelement erzeugt, wenn die Touchtastatur verwendet wird. Sie können das Problem umgehen, indem Sie die folgenden Schritte ausführen:

  1. Deaktivieren Sie FocusOnKeyboardInput, nachdem searchBox den Fokus erhalten hat. Registrieren Sie sich hierzu für das PrepareForFocusOnKeyboardInput-Ereignis , und verwenden Sie den Ereignishandler, um FocusOnKeyboardInput auf false festzulegen.
  2. Wenn searchBox den Fokus verliert, legen Sie FocusOnKeyboardInput wieder auf true fest. Registrieren Sie sich dazu für das LostFocus-Ereignis , und verwenden Sie den Ereignishandler, um FocusOnKeyboardInput wieder auf true festzulegen.

Wenn FocusOnKeyboardInput true ist, wird die Tastatureingabe im aktuellen Thread abgefangen, und die Texteingabe wird an searchBox weitergeleitet. Nur textuelle Eingaben bewirkt, dass das SearchBox-Objekt den Fokus erhält. Nicht-Texttasten, z. B. Pfeile oder Tabulatortasten, werden nicht zum Suchfeld umgeleitet. WIN/STRG/ALT-Tastenkombinationen (mit Ausnahme von STRG-V zum Einfügen) werden ebenfalls nicht umgeleitet.

Um mehr zu tun, als nur den Fokus im Suchfeld festzulegen, z. B. das Steuerelement sichtbar zu machen, behandeln Sie das PrepareForFocusOnKeyboardInput-Ereignis .

Sie sollten FocusOnKeyboardInput auf false festlegen, wenn der Benutzer den Fokus auf ein anderes bearbeitbares Textfeld legt.

Weitere Informationen dazu, wann Benutzer die Eingabe für die Suche zulassen sollten, finden Sie unter Richtlinien und Prüfliste für die Suche.

Gilt für:

Weitere Informationen