简体   繁体   English

更改为TabItem时聚焦

[英]Focus when change to TabItem

I have window with TabControl and four TabItem s. 我有一个带有TabControl和四个TabItem的窗口。 And I need to change focus to right textBox when tab is selected. 当选择选项卡时,我需要将焦点更改为正确的textBox Is here some right way to do it? 这是正确的方法吗? I tried to use TabControl_SelectionChanged event, but it looks like it doesn't work. 我尝试使用TabControl_SelectionChanged事件,但看起来不起作用。

 private void TabControl_SelectionChanged(object sender, SelectionChangedEventArgs e)
 {
     if (((TabItem)((TabControl)sender).SelectedItem).Name == "tab2")
     {
         UpdateLayout();
         textBox2EAN.Focus();
     }
     e.Handled = true;
 }

But if I click on tab2 focus is on DataGrids 's checkbox column. 但是,如果我单击tab2,则焦点将位于DataGrids的复选框列上。

TabItem: ... TabItem:...

<TabItem Name="tab2" Header="2" Width="50">
  <Grid>    
      <DataGrid Name="dataGrid" Margin="1" Grid.Column="0" Grid.Row="0" Grid.ColumnSpan="3"
                VerticalAlignment="Stretch" HorizontalAlignment="Stretch" MouseDoubleClick="dataGrid_MouseDoubleClick"
                ItemsSource="{Binding RadkyDokladu.radky}" CanUserSortColumns="False" PreviewKeyDown="dataGrid_PreviewKeyDown"
                AutoGenerateColumns="False" IsReadOnly="True" FontSize="12" SelectionMode="Single" >
          <DataGrid.Columns>
              <DataGridCheckBoxColumn Header="" Binding="{Binding ZASKRTNUTO}" Width="auto" />
              <DataGridTextColumn Header="Náz" Binding="{Binding Artikl_NAME}" Width="*"/>
          </DataGrid.Columns>
      </DataGrid>
      <TextBox Name="textBox2EAN" Grid.Row="2" Grid.Column="1" Grid.ColumnSpan="2" Margin="1" 
               VerticalContentAlignment="Center" />
  </Grid>
</Tabitem>

You can just move it to XAML and let the controls inside the TabItem move focus when they are ready: 您可以将其移至XAML并让TabItem内部的控件在准备就绪时移动焦点:

<TabItem Name="tab2" Header="2" Width="50">
    <Grid FocusManager.FocusedElement="{Binding ElementName=textBox2EAN}">
       <DataGrid />
       <TextBox Name="textBox2EAN" />
   </Grid>
</TabItem>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM