WPF は初めてですが、これについてはすでに多くの質問がありますが、どれもうまくいきませんでした。タブが選択されたときに、タブ内のテキスト ボックスがフォーカスされるようにします。
現在持っている
Private Sub TabControl1_Event(sender As Object, e As System.Windows.Controls.SelectionChangedEventArgs)
_Handles TabControl1.SelectionChanged
UpdateLayout() 'tried me.show() as well
If TabControl1.SelectedIndex = 0 Then
i = i + 1
Title = "selected" + Convert.ToString(i)
UserBox.Focus()
End If
End Sub
i のインクリメントとタイトルの変更は、if ループが入力されているかどうかを確認するためのものであり、明らかに入力されていますが、テキスト ボックス (アプリケーション内の唯一の他のコントロール) は、プログラムが最初に開始されたときにのみフォーカスを取得します。
私が言ったように、ここでこれに似た他の多くの質問を見てきましたが、それらはまったく同じではないか、単に機能しません. WPF アプリケーションで vb.net を使用しています。これは非常に単純なはずですが、私の人生ではそれを理解することはできません
これが、tabControl イベントではなく、tabItem イベントを介して実行できるとよいでしょう。
更新: 重要な場合は IDK ですが、他の人が投稿しているのを見たので、これが私の XAML です。
<Window x:Class="MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Burn In" Height="350" Width="525">
<TabControl Height="Auto" Name="TabControl1" Width="Auto">
<TabItem Header="User" Name="UserTab">
<Grid>
<TextBox Height="25" HorizontalAlignment="Center" Margin="0" Name="UserBox" VerticalAlignment="Center" Width="250" AcceptsReturn="True" />
</Grid>
</TabItem>
<TabItem Header="DUT" Name="DutTab">
<Grid />
</TabItem>
<TabItem Header="Rack" Name="RackTab">
<Grid />
</TabItem>
<TabItem Header="Programs" Name="ProgTab">
<Grid />
</TabItem>
</TabControl>
</Window>