Вроде новичок в WPF, и я работаю над приложением, которое имеет общую форму ввода пользователя и раздел «детали», который скрыт в Expander. Я пытаюсь сделать так, чтобы, если пользователь вкладок в элементе управления расширителем, он автоматически расширялся и фокусировался на первом элементе управления в этом расширителе.
Некоторые урезали XAML:
<StackPanel>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="24"/>
<RowDefinition Height="24"/>
</Grid.RowDefinitions>
<Label Content="Email" Grid.Row="0" Grid.Column="0"/>
<TextBox Grid.Row="0" Grid.Column="1"/>
<Label Content="Department" Grid.Row="0" Grid.Column="2"/>
<TextBox Grid.Row="0" Grid.Column="3"/>
<Label Content="Contact Name" Grid.Row="1" Grid.Column="0"/>
<TextBox Grid.Row="1' Grid.Column="1"/>
<Label Content="Phone Number" Grid.Row="1" Grid.Column="2"/>
<TextBox Grid.Row="1" Grid.Column="3"/>
</Grid>
<Expander ExpandDirection="Down" IsExpanded="False" Header="Details">
<StackPanel Orientation="Horizontal">
<Label Content="Address"/>
<TextBox />
<Button Content="Add Another" />
</StackPanel>
</Expander>
</StackPanel>
Что я хотел бы сделать, так это то, что если пользователь в данный момент вводит номер телефона и нажимает на вкладку «Расширитель сведений», он должен развернуться и поместить фокус в текстовое поле «Адрес». Я попытался установить TabIndex и играть с KeyboardNavigation.Tab ... безуспешно.
Есть идеи, как это сделать?