palaber
Captain
- Registriert
- Juni 2006
- Beiträge
- 3.856
Hallo Leute,
ich ermittel für eine ListView den ScrollViewer um die exakte vertikale Scrollposition zu erhalten:
Problem:
Ich benutze ein WPF TabControl:
Mit mehreren Tabs:
In jedem Tab steckt jetzt eine ListView. Theoretisch sollte der Ablauf der Events für jede ListView-Instanz wie oben dargestellt ablaufen.
Dies ist aber nicht der Fall. Beim Initialisieren der View / Tabs wird nur der Event-Ablauf der Liste korrekt abgearbeitet die in dem gerade aktiven Tab steckt.
Bei den anderen findet die VisualTreeHelper.GetChildrenCount()-Methode keine Elemente. Sprich der ist "ScrollViewer == null". Somit kann ich mit nicht an das ScrollChanged-Event anmelden. Also auch keine ScrollPosition ermitteln / setzten.
Kann mir jemand sagen, warum die VisualTreeHelper.GetChildrenCount() mir "0" zurück gibt?
ich ermittel für eine ListView den ScrollViewer um die exakte vertikale Scrollposition zu erhalten:
- OnInizialized-Event verwenden und an Loaded-Event anmelden
- Loaded-Event => ScrollViewer ermitteln
- ScrollViewer ermitteln: VisualTreeHelper.GetChildrenCount()
- ScrollViewer != null: ScrollChanged-Event anmelden
- Scrollposition speichern
Problem:
Ich benutze ein WPF TabControl:
Code:
<TabControl>...</TabControl>
Mit mehreren Tabs:
Code:
<TabItem></TabItem>
In jedem Tab steckt jetzt eine ListView. Theoretisch sollte der Ablauf der Events für jede ListView-Instanz wie oben dargestellt ablaufen.
Dies ist aber nicht der Fall. Beim Initialisieren der View / Tabs wird nur der Event-Ablauf der Liste korrekt abgearbeitet die in dem gerade aktiven Tab steckt.
Bei den anderen findet die VisualTreeHelper.GetChildrenCount()-Methode keine Elemente. Sprich der ist "ScrollViewer == null". Somit kann ich mit nicht an das ScrollChanged-Event anmelden. Also auch keine ScrollPosition ermitteln / setzten.
Kann mir jemand sagen, warum die VisualTreeHelper.GetChildrenCount() mir "0" zurück gibt?
Zuletzt bearbeitet: