Fokus setzen auf ein ListBox-Element bricht die navigation mit der Tastatur
Nach Auswahl der ListBox-Element programmgesteuert es benötigt wird, drücken Sie die down\up-Taste zwei mal um die Auswahl zu verschieben. Irgendwelche Vorschläge?
Anzeigen:
<ListBox Name="lbActions" Canvas.Left="10" Canvas.Top="10"
Width="260" Height="180">
<ListBoxItem Name="Open" IsSelected="true" Content="Open"></ListBoxItem>
<ListBoxItem Name="Enter" Content="Enter"></ListBoxItem>
<ListBoxItem Name="Print" Content="Print"></ListBoxItem>
</ListBox>
Code:
public View()
{
lbActions.Focus();
lbActions.SelectedIndex = 0; //not helps
((ListBoxItem) lbActions.SelectedItem).Focus(); //not helps either
}
InformationsquelleAutor StreamT | 2010-02-08
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nicht, legen Sie den Fokus auf das ListBox - ... setzt den Fokus auf das ausgewählte ListBoxItem. Diese lösen die "zwei Tastenanschläge erforderlich" problem:
Wenn dein Listenfeld enthält etwas anderes als
ListBoxItem
s, die Sie verwenden könnenlbActions.ItemContainerGenerator.ContainerFromIndex(lbActions.SelectedIndex)
zu Holen Sie sich die automatisch generiertenListBoxItem
.Wenn Sie wollen, dass dies passiert während Fenster Initialisierung, die Sie benötigen, um den code in die
Loaded
Veranstaltung eher als in den Konstruktor. Beispiel (XAML):Code (basierend auf dem Beispiel aus Ihrer Frage):
SelectedIndex = 0
.Können Sie dies leicht tun in XAML zu. Bitte beachten Sie, dass dies die logische Fokus nur.
Beispiel: