Is there an event that is raised when a child is scrolled into view and gives an indication of what child was realized?
Of course there is the ScrollChanged event, but it does not provide me with any indication of what element was scrolled into view.
Edit :
I've tried hooking up to the ScrollViewer's RequestBringIntoView Event, but it is never reached. Alternatively I also tried the same on the StackPanel containing the items as such:
XAML :
<ScrollViewer RequestBringIntoView="ScrollViewer_RequestBringIntoView" >
<StackPanel RequestBringIntoView="StackPanel_RequestBringIntoView">
<Button Content="1" Height="20"/>
<Button Content="2" Height="20"/>
<Button Content="3" Height="20"/>
<Button Content="4" Height="20"/>
<Button Content="5" Height="20"/>
<Button Content="6" Height="20"/>
<Button Content="7" Height="20"/>
<Button Content="8" Height="20"/>
<Button Content="9" Height="20"/>
<Button Content="10" Height="20"/>
<Button Content="11" Height="20"/>
<Button Content="12" Height="20"/>
<Button Content="13" Height="20"/>
<Button Content="14" Height="20"/>
<Button Content="15" Height="20"/>
<Button Content="16" Height="20"/>
<Button Content="17" Height="20"/>
<Button Content="18" Height="20"/>
<Button Content="19" Height="20"/>
<Button Content="20" Height="20"/>
<Button Content="21" Height="20"/>
<Button Content="22" Height="20"/>
<Button Content="23" Height="20"/>
<Button Content="24" Height="20"/>
</StackPanel>
</ScrollViewer>
They are never reached. As I understand it, the ScrollViewer calls BringIntoView on it's encapsulated child elements and they raise the RequestBringIntoView event, which I would expect to propagate up the visual tree. I guess the ScrollViewer handles that event internally. So I end up with the same problem of how to get notified when it's child is brought into view. I could hook each of them up, or maybe an ItemsControl would do that for me?