Come faccio a sapere quando il pulsante “cerca” è scattato quando ho impostato InputScope per la ricerca?
-
10-10-2019 - |
Domanda
Per Windows Phone. Come faccio a sapere quando il pulsante "cerca" è scattato quando ho impostato InputScope per cercare una TextBox? C'è un evento?
Soluzione
Quando il InputScope
è impostato su "Ricerca", il pulsante "Cerca" è solo un pulsante di restyling "enter". Quindi, supponendo che:
<TextBox InputScope="Search" KeyDown="SearchBox_KeyDown" />
il pulsante "Cerca" viene premuto (sul SIP) può essere rilevato con:
private void SearchBox_KeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.Enter)
{
// Do search...
}
}
Altri suggerimenti
In aggiunta a ciò che Matt ha (giustamente) risponde, se si gestisce e.PlatformKeyCode == 0x0A (come illustrato di seguito) si può anche rispondere al benessere tasto Invio premuto sulla tastiera host quando in esecuzione nell'emulatore senza la SIP .
if ((Key.Enter == e.Key) || (e.PlatformKeyCode == 0x0A))
{
// Do search...
}
Vuoi dire il pulsante di ricerca hardware? Non è esposto. domanda simile
Per Windows Phone 8.1 Apps (non Silverlight) è possibile utilizzare VirtualKey
if (e.Key == Windows.System.VirtualKey.Enter)
{
//Do Something.
}