У меня есть меню, как это:UWP XAML Textbox Фокус после Enter
Я бы хотел, что если курсор находится на ValorInsTextBox (Valor Textbox) и жму Enter, приложение вызвать кнопку InserirBtn_ClickAsync (кнопка Inserir), и после процесса курсор возвращается в PosicaoInsTextBox (текстовое поле Posição). Я использовал некоторые методы, используя Key_Down, но что-то странное. Посмотрите код:
private void PosicaoInsTxtBox_KeyDown(Object sender, KeyRoutedEventArgs e)
{
if (e.Key == Windows.System.VirtualKey.Enter)
{
InserirBtn_ClickAsync(sender, e);
PosicaoInsTxtBox.Focus(FocusState.Programmatic);
}
}
private void ValorInsTxtBox_KeyDown(Object sender, KeyRoutedEventArgs e)
{
if (e.Key == Windows.System.VirtualKey.Enter)
{
InserirBtn_ClickAsync(sender, e);
if (PosicaoInsTxtBox.IsEnabled)
{
PosicaoInsTxtBox.Focus(FocusState.Programmatic);
}
else
{
ValorInsTxtBox.Focus(FocusState.Programmatic);
}
}
}
Когда я отлаживать код, жму Enter, когда ValorInsTextBox находится в центре внимания, и метод ValorInsTextBox_KeyDown начинается, и все идет хорошо. И когда он приходит на линии:
PosicaoInsTxtBox.Focus(FocusState.Programmatic);
он идет, чтобы выполнить метод PosicaoTextBox_KeyDown и начинает выполнять его. Я не знаю, почему! Кто-нибудь может мне помочь?
Решение этой проблемы. Большое вам спасибо! –