Элемент управления UWP Pivot, как установить фокус на первый элемент управления в PivotItem
У меня есть элемент управления Pivot, который использует ItemsSource для привязки к списку экземпляров ViewModel. Я назначаю пользовательский ItemTemplateSelector для сопоставления между типами ViewModel и определениями DataTemplate. Все это работает нормально, и для каждой модели представления создается правильное отображение на основе соответствующего шаблона данных. Что-то вроде этого...
<Pivot ItemsSource="{x:Bind ViewModels}"
ItemTemplateSelector="{StaticResource ViewModelSelector}"
SelectedItem="{x:Bind SelectedViewModel, Mode=TwoWay}"/>
Проблема в том, что я хочу автоматически установить фокус на элемент управления на каждой странице, когда эта страница отображается в первый раз. Как правило, они представляют собой формы ввода данных, поэтому в настоящее время пользователь должен выбрать первый элемент управления, чтобы начать ввод данных. Было бы лучше, если сначала показывать страницу автоматически, а затем установить фокус на элемент управления на этой странице.
Есть идеи?
1 ответ
Вы можете привязать метод к TextBox, когда он загружен.
Например:
<Pivot.ItemTemplate>
<DataTemplate x:DataType="local:Test">
<TextBox Text="{x:Bind Content}" Height="50" Loaded="{x:Bind TextBox_Loaded}">
</TextBox>
</DataTemplate>
</Pivot.ItemTemplate>
public void TextBox_Loaded(object sender, RoutedEventArgs e)
{
TextBox textBox = sender as TextBox;
if (textBox != null)
{
textBox.Focus(FocusState.Programmatic);
}
}