【发布时间】:2024-04-24 22:30:02
【问题描述】:
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。看起来这应该很简单,但我一生都无法弄清楚
如果这可以通过 tabItem 事件而不是 tabControl 事件来完成,那就太好了。
更新: 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>
【问题讨论】:
-
我自己刚刚开始 WPF。这没用? *.com/questions/1345391/set-focus-on-textbox-in-wpf
-
不,恐怕不行,它再次适用于第一次加载窗口但不加载之后:(
标签: wpf vb.net tabs wpf-controls setfocus