Come faccio a sapere quando il pulsante “cerca” è scattato quando ho impostato InputScope per la ricerca?

StackOverflow https://stackoverflow.com/questions/4665869

Domanda

Per Windows Phone. Come faccio a sapere quando il pulsante "cerca" è scattato quando ho impostato InputScope per cercare una TextBox? C'è un evento?

È stato utile?

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.
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top