WPF - ListView - Problem mit Focus



  • Hallo Experten,

    das Ziel ist einer ListView das Verhalten beizubringen wie es von
    z.B. Nothon-Commander her bekannt sein dürfte.

    Das Problem ist, mit ENTER in ein Verzeichnis wechseln zu wollen und auch
    wieder zurück. Beim Wechsel in ein Verzeichnis wird das Problem nicht so
    ganz deutlich wie aus einem Verzeichnis heraus. Da im ersten Fall der
    selektierte Eintrag die oberste Zeile ist mit ".."

    Im anderen Fall kann ich auch das Ursprungsverzeichnis selektieren, es scheint
    alles soweit perfekt zu funktionieren.

    Das Problem, mit ENTER erhält die ListView den Focus und nicht das angesteuerte
    Item. Resultat ist, dass zweimal mit der Pfeiltaste gedrückt werden muss
    um die Selektion wirksam zu ändern.

    Besonders auffällig beim Herauswechsel in das Übergeordnete Verzeichnis
    springt die Selektion beim ersten "Pfeil" -Druck in den ersten ".." Eintrag
    hoch.

    Jetzt ist der Focus an der richtigen Stelle, das Verhalten ist so aber nicht
    gewünscht.

    <ListView ... FocusVisualStyle="{x:Null}">
    <ListView.InputBindings>
    <KeyBinding Command="{Binding FtpLocalDirectory.ChangeDirectoryCommand}" Key="RETURN"
    CommandParameter="{Binding ElementName=FtpLocalDirectory, Path=SelectedItem}">
    </KeyBinding>
    </ListView.InputBindings>
    ....
    </ListView>

    Ohne [FocusVisualStyle="{x:Null}"] wird das Problem auch optisch sichtbar.
    Es wird nach "ENTER"-Druck eine gestrichelte Linie dem ListView-Rahmen
    hinzugefügt.

    Das Verhalten sollte ohne Code-Behind realisierbar sein.
    Ich stelle die Frage nun nach dem ich 2 Tage versucht habe das Problem zu lösen 😡


Anmelden zum Antworten