我想更改orientation属性,如下所示:
<Style x:Key="FlipViewStyleV" TargetType="FlipView">
<Setter Property="ItemsPanel">
<Setter.Value>
<ItemsPanelTemplate>
<VirtualizingStackPanel AreScrollSnapPointsRegular="True" Orientation="Vertical" />
</ItemsPanelTemplate>
</Setter.Value>
</Setter>
</Style>
我希望在设备方向改变时让它工作,方向属性也应该跟随改变。但是当我在代码隐藏中添加一个按钮来将方向从垂直方向改为水平方式时,它是不行的,有人知道吗?
答案 0 :(得分:2)
似乎更改Orientation
的{{1}} FlipView
属性因某些原因无效。所以这是另一种选择。
您需要复制ItemsPanel
。一个人会实现FlipView
Vertical
,另一个会VirtualizingStackPanel
Horizontal
。
在您的网页VirtualizingStackPanel
中定义它们。
Resources
然后,您需要使用<Page.Resources>
<ItemsPanelTemplate x:Key="HorizontalItemsPanel">
<VirtualizingStackPanel AreScrollSnapPointsRegular="True" Orientation="Horizontal" />
</ItemsPanelTemplate>
<ItemsPanelTemplate x:Key="VerticalItemsPanel">
<VirtualizingStackPanel AreScrollSnapPointsRegular="True" Orientation="Vertical" />
</ItemsPanelTemplate>
</Page.Resources>
来监控手机的方向更改。
SimpleOrientationSensor
订阅private SimpleOrientationSensor _orientationSensor = SimpleOrientationSensor.GetDefault();
事件后,
OrientationChanged
在其回调中,只需隐藏并相应地显示 _orientationSensor.OrientationChanged += OrientationSensor_OrientationChanged;
。
FlipView