2016-01-21 3 views
0

У меня есть 3 текстовых поля на моей странице приложения, и я хочу установить для них индекс табуляции, чтобы при нажатии пользователем клавиши возврата с клавиатуры он должен перейти к следующему текстовому полю. Я установил свойство Index Index TextBox, но его не работает.Как установить вкладку Индекс в телефоне Windows 8.1

+0

Возможный дубликат ["Tabbing" между полями с помощью TabIndex] (http://stackoverflow.com/questions/21229746/tabbing-between-fields-using-tabindex) – asitis

+0

Вы можете ссылаться на этот вопрос http: // stackoverflow. com/questions/21229746/tabbing-between-fields-using-tabindex – asitis

ответ

1

Он работает для приложения Windows Phone 8.1 следующего кода.

private void OnKeyDown(object sender, KeyEventArgs e) 
{ 
    if (e.Key==Windows.System.VirtualKey.Enter) 
    { 
     FocusManager.TryMoveFocus(FocusNavigationDirection.Next); 
    } 
} 

использовать вышеуказанный метод в событии KeyDown для всех текстовых полей.

0

Это возможная реализация.

<StackPanel x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0" 
      > 
    <TextBox TabIndex="0" KeyDown="OnKeyDown"/> 
    <TextBox TabIndex="1" KeyDown="OnKeyDown"/> 
    <TextBox TabIndex="2" KeyDown="OnKeyDown"/> 
    <TextBox TabIndex="3" KeyDown="OnKeyDown"/> 
    <TextBox TabIndex="4" KeyDown="OnKeyDown"/> 
</StackPanel> 

Этот следующий код предполагает, что ContentPanel содержит только TextBox. Это зависит от вас, чтобы добавить в него более умный код ...

private void OnKeyDown(object sender, KeyRoutedEventArgs e) 
{ 
    if (e.Key.Equals(Key.Enter)) 
    { 
     var txtBox = sender as TextBox; 
     var index = txtBox.TabIndex; 

     var nextTextBox = ContentPanel.Children.Cast<TextBox>().FirstOrDefault(t => t.TabIndex == index + 1); 

     if (nextTextBox != null) 
     { 
      nextTextBox.Focus(); 
     } 
    } 
} 
+0

Я пробовал это, но он дал ошибку, что KeyEventArgs не является методом или свойством system.windows. input .. – Vinita

+0

Я разрабатываю базовое приложение для Windows Phone, а не silverlight – Vinita

+0

Используйте это: KeyRoutedEventArgs – Harold

Смежные вопросы