2015-05-11 4 views
5

hallo alle Ich möchte gebrauchte Schnelltaste (mit linken und rechten Taste) in wpf und tabcontrol zur Navigation zwischen TabItem Ich habe Code in Window_KeyDown(object sender, System.Windows.Input.KeyEventArgs e)wie zwischen TabItem mit Links und Rechts Tasten in WPF

wie folgt navigieren:

switch (e.Key) 
      { 
       case Key.Right: 
        if (tbControl.TabIndex == 0) 
         tbControl.TabIndex = 1; 
        break; 

       case Key.Left: 
        if (tbControl.TabIndex == 0) 
         tbControl.TabIndex = 1; 
        break; 
      } 

aber es ist nicht alles ich möchte Navigation zwischen TabItem mit links und rechts Tasten dank

+0

Ist Ihre Methode aufgerufen? Setzen Sie einen Haltepunkt darin und debuggen Sie es. – nvoigt

+1

Ich denke, Sie möchten einen "globalen Keyhook" erfassen .. – User2012384

+0

@nvoigt ja ich habe Breakpoint verwendet aber Keydown nicht erkannt !!! – Faraz

Antwort

4

Sie TabControl.TabIndex verwenden wenn Sie sein sollte TabControl.SelectedIndex verwenden, etwa so:

private void Window_KeyDown(object sender, KeyEventArgs e) 
{ 
    switch (e.Key) 
    { 
     case Key.Right: 
      if (tbControl.SelectedIndex == 0) 
       tbControl.SelectedIndex = 1; 
      break; 
     case Key.Left: 
      if (tbControl.SelectedIndex == 1) 
       tbControl.SelectedIndex = 0; 
      break; 
    } 
} 

TabIndex ist auf alle Bedienelemente gemeinsam und stellt die Reihenfolge, in der Steuerung fokussiert werden, wenn der Benutzer die Tab Taste drückt. SelectedIndex ist spezifisch für Auswahlsteuerungen (z. B. TabControl, ListBox, ComboBox usw.) und stellt den Index des aktuell ausgewählten Elements in der Steuerung dar.

Auch, wenn Sie diese wollen mehr als zwei Registerkarten, mit arbeiten, würde ich Ihre case Aussagen zu etwas mehr wie folgt ändern:

case Key.Right: 
    if (tbControl.SelectedIndex < tbControl.Items.Count - 1) 
     tbControl.SelectedIndex++; 
    break; 

case Key.Left: 
    if (tbControl.SelectedIndex > 0) 
     tbControl.SelectedIndex--; 
    break; 
Verwandte Themen