ich ein seltsames Verhalten von Listview-Steuerelement in WPF haben.wpf listview verloren den Fokus
Wir entwickeln Anwendung in C#.
Ich erstellte ListView mit einigen Elementen und legte SelectedIndex auf einen Index in der Mitte seiner Liste. Dann habe ich mit der Maus an einer beliebigen Stelle auf dem ListView geklickt und dann mit Up/Dows Tastaturtasten navigiert, alles funktioniert einwandfrei. Aber wenn bewege ich mich auf eine andere Steuerung konzentrieren und dann zu setzen versucht, Listview Steuerelement programmgesteuert Fokus zurück, dann das Problem, das ich bin immer.
Das Listview den Fokus erhält, aber wenn Iâ € ™ m mit dem wird Tastatur, aktuelle Auswahl versuchen, gelöscht werden, um zu navigieren und das erste Element wird ausgewählt und Navigation wird von dem ersten Element in der Liste starten.
Ich setze den Fokus auf ListView-Steuerelement durch Aufruf seiner .Focus() -Methode.
Es sieht aus wie sogar ListView Steuerelement im Fokus, aber keine Elemente tatsächlich in Fokus, auch wenn SelectedIndex einige gültige Werte hat.
Bitte, hilf mir! Wie kann ich den Fokus auf die ListView-Steuerung programmgesteuert auf festlegen, um ein solches Verhalten zu verhindern?
finde ich heraus, dass meine Listenansicht ausgewählter Index aus dem fokussierten Punkt unterscheidet. wer ???
in selectedindex_changed Ereignis habe ich den ausgewählten Index zu den Fix Punkt (5), aber wenn ich den Pfeiltasten den Punkt drücken geändert wurde. Das bedeutet, dass der ausgewählte Index auf 5 festgelegt ist, aber der aktuelle Punkt (mit einem Punkt umrandet) an die Position der Pfeiltaste verschoben wurde. sowieso ist meine selecteditem auf 5, aber meine scrollviews bewegt sich in Position, dass aktuelle Element ist.
Dieser Code ist in listView1_SelectionChanged: listView1.SelectionMode = SelectionMode.Single; listView1.SelectedIndex = 5;
meine Listenansicht eine modifizierte Ansicht:
<l:PlainView x:Key="tileView"
ItemTemplate="{StaticResource centralTile}"
ItemHeight="120" ItemWidth="130" />
i mehr wissen über die problom nicht.
Grüße
Hey hast du eine Lösung für dieses gefunden? Ich habe genau das gleiche Problem und finde es nicht heraus! –
Ruft nicht .Focus() generell eine schlechte Übung in irgendeiner GUI/Frameworks/Sprachen? –
Also, wie sonst setzen Sie den Fokus dann? – Sam