Как я могу определить, когда кнопка «Поиск» нажимается, когда я устанавливаю InputScope для поиска?

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

Вопрос

Для Windows Phone. Как я могу определить, когда кнопка «Поиск» нажимается, когда я устанавливаю inputscope для поиска на текстовом поле? Есть событие?

Это было полезно?

Решение

Когда InputScope установлен на «поиск», кнопка «Поиск» - это просто кнопка ресторана «Enter». Итак, предполагая:

<TextBox InputScope="Search" KeyDown="SearchBox_KeyDown" />

Кнопка «Поиск» нажимается (на SIP) может быть обнаружена с помощью:

private void SearchBox_KeyDown(object sender, KeyEventArgs e)
{
    if (e.Key == Key.Enter)
    {
        // Do search...
    }
}

Другие советы

В дополнение к тому, что Мэтт ответил (правильно) ответил, если вы обрабатываете e.platformkeycode == 0x0a (как показано ниже), вы также можете ответить на клавишу Enter, нажимаему на клавиатуре при запуске в эмуляторе без SIP.

if ((Key.Enter == e.Key) || (e.PlatformKeyCode == 0x0A))
{
    // Do search...
}

Вы имеете в виду кнопку поиска аппаратного обеспечения? Это не выставлено. Подобный вопрос

Для приложений Windows Phone 8.1 (не Silverlight) вы можете использовать VirtualKey

if (e.Key == Windows.System.VirtualKey.Enter)
{
    //Do Something.
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top