2015-01-26 3 views
1

Я хочу сделать программную прокрутку в GridView и не позволять пользователю делать это самостоятельно. Я пытался сделать что-то, как в коде ниже:Windows Phone 8.1 - Программная прокрутка в GridView

GridView.SetValue(ScrollViewer.VerticalScrollBarVisibilityProperty, ScrollBarVisibility.Hidden); 
GridView.ScrollIntoView(GridView.Items[10]); 
GridView.SetValue(ScrollViewer.VerticalScrollBarVisibilityProperty, ScrollBarVisibility.Disabled); 

К сожалению, после отключения вертикальной полосы прокрутки отображения GridView обратно к первому ряду.

EDIT: В конце концов, было действительно простое решение. Вместо изменения значений VerticalScrollBarVisibilityProperty я отключен VerticalScrollModeProperty.

+0

Вещь заключается в том, что контент GridView должен быть доступен для кликов. Размер GridView равен (7 столбцов) x (6 строк). Пользователь с жестом может сжать GridView до одной строки, и здесь мне нужно прокрутить до строки выбранного перед элементом. – Vil

+0

Это разрешает проблему только с той частью, где GridView прокручивается, но главная проблема заключается в том, что делать после прокрутки. Мне нужно отключить прокрутку, чтобы пользователь не использовал ее (содержимое должно быть доступно для клика), но дисплей возвращается к первой строке. – Vil

ответ

-1

Я не получаю ваше требование ясно, но было бы лучше использовать ScrollViewer в верхней части вашего GridView и выделите его программно с помощью:

ScrollViewer.ScrollToHorizontalOffset(Offset Value); 

Или с помощью PropertyMetadata. Вы также можете включить/отключить функцию scrollviewer в соответствии с вашими требованиями.