Элемент управления UWP Pivot, как установить фокус на первый элемент управления в PivotItem - PullRequest
0 голосов
/ 16 мая 2018

У меня есть элемент управления Pivot, который использует ItemsSource для привязки к списку экземпляров ViewModel.Я назначаю пользовательский ItemTemplateSelector для сопоставления между типами ViewModel и определениями DataTemplate.Все это работает нормально, и для каждой модели представления создается правильное отображение на основе соответствующего шаблона данных.Примерно так ...

<Pivot ItemsSource="{x:Bind ViewModels}"
       ItemTemplateSelector="{StaticResource ViewModelSelector}"
       SelectedItem="{x:Bind SelectedViewModel, Mode=TwoWay}"/>

Проблема в том, что я хочу автоматически устанавливать фокус на элемент управления внутри каждой страницы, когда эта страница отображается в первый раз.Как правило, они представляют собой формы ввода данных, поэтому пользователь должен выбрать первый элемент управления, чтобы начать ввод данных.Было бы лучше, если сначала автоматически отобразить страницу, а затем установить фокус на элемент управления на этой странице.

Есть идеи?

1 Ответ

0 голосов
/ 21 мая 2018

Вы можете привязать метод к 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);
        }
    }
...