我正在尝试向包含GridView
的{{1}}页面添加纵向支持,该页面使用VirtualizingStackPanel
作为其ItemsPanelTemplate
。我的想法是,当方向发生变化时,我可以更改Orientation
的{{1}}属性,以纵向和水平方向垂直滚动。但是,由于VirtualizingStackPanel
用作模板,因此我无法在后面的代码中按名称直接访问它。
有没有办法达到我的目的?
我可以复制VirtualizingStackPanel
(或使用GridView
)和Visual States来适当地显示/隐藏它们,但我不想重复这么多代码。
答案 0 :(得分:1)
使用VisualTreeHelper
挖掘GridView's
可视化树并找到面板。
答案 1 :(得分:0)
更改方向时会出现某种错误。
var zoomedInStackpanel = itemGridView.ItemsPanelRoot as VirtualizingStackPanel;
zoomedInStackpanel.Orientation = Orientation.Vertical;
我放弃并使用了两个GridView。每个方向一个