I'm trying to do something tricky. I want to select a list item by determining whether the ScrollViewer is scrolled and if the item is in the center of the ScrollViewer. I want to select an item when the user manually scrolls it to the center of a ListView. I do not want to scroll to the selected item, because that would be too easy, right?

Here's a drawing:

I've managed to detect whether the scroller has been scrolled. First I place a Loaded Event on the ListView in question "itemsList" and find the ScrollViewer type by traversing the visual tree to see if it has finished scrolling and tag the ScrollViewer to the ListView and handle the SelectionChanged event:

I handle the ScrollViewOnViewChanged event where I determine if the scrollviewer is still scrolling. This is where I'm running into a few problems where I also need to determine the position of the ListViewItem and select it - I'd love some help here:

I'll experiment with this tomorrow and post my results. I may have a few follow-up questions.
–
DylanFeb 12 '13 at 3:09

IInputElement Interface doesn't seem to be exposed for WinRT. I'm looking for an equivalent right now.
–
DylanFeb 12 '13 at 19:00

Although this implementation would be super, WinRT does not have the IInputElement class, so I fiddled with this concept and was able to create a suitable hit test. Although I now need to create a cross-fade animation between the current and previous list item.
–
DylanApr 5 '13 at 19:39

Does WinRT actually have the InputHitTest method? What is the return type?
–
Torben KohlmeierApr 5 '13 at 22:05

No it does not. we need to define the UIElement, find either its parent or children and go from there.
–
DylanApr 8 '13 at 19:59