views:

1444

answers:

1

How to check whether the vertical scrollbar of the listbox is visible in code-behind?

I have a listbox with x:Name="listOfItems" and its underlying ScrollViewer's VerticalScrollbarVisibility is set to auto.

When the ItemsSource property of the ListBox is set, I want to check whether the verticalScrollbar is visible, but I don't know which property to check or how to dive into the scrollviewer element of the listbox.

Any suggestions

+2  A: 

You can find Listbox' ScrollViewer as described here: http://stackoverflow.com/questions/665719/wpf-animate-listbox-scrollviewer-horizontaloffset/665798#665798

Then you can use ComputedVerticalScrollBarVisibility property to check if the scrollbar is visible:

ScrollViewer sv = FindVisualChild<ScrollViewer>(listOfItems);
Visibility scrollbarVisibility = sv.ComputedVerticalScrollBarVisibility;
Stanislav Kniazev