WPF新增的一種,我正在開發一個應用程序,該應用程序具有一般用戶輸入表單和隱藏在擴展器中的「詳細信息」部分。我試圖獲取它,以便如果用戶選中擴展器控件,它將自動擴展並將焦點放入該擴展器中的第一個控件。WPF鍵盤導航:如何擴展面板並將焦點置於該面板的第一個控件中?
一些精簡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 ...沒有任何運氣。
任何想法如何做到這一點?
這很好。謝謝Zamboni。 – Adam 2010-06-26 19:29:38