Как изменить ориентацию VirtualizingStackPanel в коде позади?

1

Я пытаюсь добавить поддержку портрета на страницу, содержащую GridView которая использует VirtualizingStackPanel в качестве GridView ItemsPanelTemplate. Идея заключается в том, что при изменении ориентации я смогу изменить свойство Orientation для VirtualizingStackPanel чтобы прокручивать вертикально по вертикали и по горизонтали в ландшафте. Однако, поскольку VirtualizingStackPanel используется как шаблон, я не могу напрямую обращаться к нему по имени в коде позади.

Есть ли способ сделать то, что я хочу?

Я мог бы просто сделать дубликат GridView (или использовать ListView) и визуальные состояния, чтобы показать/скрыть их соответствующим образом, но я бы предпочел не дублировать так много кода.

Теги:
gridview
windows-store-apps
windows-8

2 ответа

1
Лучший ответ

Используйте VisualTreeHelper для поиска в дереве GridView's и найдите панель.

0

При изменении ориентации возникает какая-то ошибка.

var zoomedInStackpanel = itemGridView.ItemsPanelRoot as VirtualizingStackPanel;
zoomedInStackpanel.Orientation = Orientation.Vertical;

Я сдался и использовал два GridView. Один для каждой ориентации

Ещё вопросы

Сообщество Overcoder
Наверх
Меню