2016-11-01 5 views
1

Ich habe Fenster mit TabControl und vier TabItem s. Und ich muss den Fokus nach rechts ändern textBox, wenn Registerkarte ausgewählt ist. Ist hier ein richtiger Weg, es zu tun? Ich habe versucht, TabControl_SelectionChanged Ereignis zu verwenden, aber es sieht aus wie es nicht funktioniert.Fokus, wenn zu TabItem wechseln

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

Aber wenn ich auf tab2 Fokus klicken auf DataGrids ‚s Checkbox Spalte.

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> 
+0

das Verfahren richtig an den hinzugefügt TabControl.SelectedIndexChanged-Ereignis? – Poody

+0

Im mit '' – Sk1X1

+0

Erhält die TextBox sogar den Fokus, bevor es zum Checkbox springt? – Poody

Antwort

2

Sie können es nur XAML bewegen und die Kontrollen innerhalb des TabItem bewegen Fokus lassen, wenn sie bereit sind:

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

Danke! Ich habe es vorher versucht und nicht funktioniert ... Also habe ich es noch einmal versucht und es sieht vielversprechend aus .. danke nochmal – Sk1X1

+0

@ Sk1X1, kein Problem. Wenn Sie den Fokus nicht auf Code umstellen, sollte es funktionieren. – icebat

Verwandte Themen