我的 WpfWindow 上有一个 TextBox (firstItem) 和一个 Button (anotherItem),索引为例如 1 和 23(为简单起见)。
因此,当我单击按钮(具有 TabIndex="23")时,我想要它重置当前的 TabIndex 以便 TextBox 聚焦。这甚至可能吗?
我试过了:
- 禁用和启用按钮的 TabStop(在 ClickEvent 中)但没有结果。
如果我使用在 ClickEvent 之后执行的函数,它会有所帮助吗?
您有 2 个选项:
XAML 文件:
<TextBox Name="TextBoxFirst"></TextBox>
<Button Click="Button_Click"></Button>
CS文件:
private void Button_Click(object sender, RoutedEventArgs e)
{
TextBoxFirst.Focus();
}
XAML 文件:
<TextBox Name="TextBoxFirst" FocusManager.IsFocusScope="{Binding FocusOnFirstTextBox}"></TextBox>
CS文件:
FocusOnFirstTextBox = true;
您可以在不知道其名称的情况下访问 TextBox。
Visual visual=YourGridName;
for (int i = 0; i < VisualTreeHelper.GetChildrenCount(visual); i++)
{
Visual childVisual = (Visual) VisualTreeHelper.GetChild(visual, i);
if (childVisual is TextBox)
{
TextBox tempTextBox = childVisual as TextBox;
if(tempTextBox.IsVisible)
{
tempTextBox.Focus();
}
}
}