Как смоделировать нажатие клавиши TAB в Silverlight, когда пользователь нажимает клавишу ВВОД с MVVM? - PullRequest
3 голосов
/ 09 сентября 2011

Как бы вы имитировали нажатие клавиши в MVVM в проекте Silverlight?

Я хочу симулировать нажатие клавиши TAB, когда пользователь нажимает клавишу ВВОД, поэтому оно переходит к следующему текстовому полю

Ответы [ 2 ]

1 голос
/ 09 сентября 2011

Просто обработайте событие KeyUp , где вы можете проверить, какая клавиша нажата.Затем вызовите метод Focus следующего элемента управления.Не забудьте установить для свойства Handled значение true.

Пример кода:

// Handler for TextBox1
private void OnKeyDownHandler(object sender, KeyEventArgs e)
{
    if (e.Key == Key.Return)
    {
        TextBox2.Focus();
        e.Handled = true;
    }
}

Вы также можете рассмотреть возможность перебора всех элементов управления, чтобы найти следующеефокусируемый элемент, используя свойство TabIndex .

Вы можете даже обернуть все в присоединяемое поведение, чтобы упростить подключение.

1 голос
/ 09 сентября 2011

Это зависит от того, чего вы пытаетесь достичь здесь?Если вы просто пытаетесь выполнить тот же код, который будет выполняться при нажатии клавиши, просто структурируйте свой код, чтобы это разрешить!

Для автоматизации управления пользовательским интерфейсом, имитации событий клавиатуры и мыши см. MSDN:

UI Автоматизация пользовательского элемента управления Silverlight

...