views:

443

answers:

2

How can I set the horizontal scroll position of a list box in code? I have a list box with a wrap panel in the items template and I want to implement a 'page right' function that behaves like a page down down in a normal list but works sideways.

Thanks!

A: 

You can use the ScrollIntoView method to scroll a specific item into view

Thomas Levesque
How would you be able to tell if that was the first item that wasn't in view, so it could preform like a 'page down'? Thanks!
Evan
A: 

With some more searching around the site, I figured out the answer to my question.

Using the following function from Josh G's answer to this question

public static childItem FindVisualChild<childItem>(DependencyObject obj)
{
     ...
}

With that function to page left and right via code, this is all you have to do is the following (where listBox is the name of my ListBox control),

void PageRight()
{
    ScrollViewer myScrollviewer = FindVisualChild<ScrollViewer>(listBox);
    myScrollviewer.PageRight();
}
Evan