WPF ListBox control horizontal scrolling in code

2019-07-16 02:49发布

问题:

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!

回答1:

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();
}


回答2:

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