我想获得只有一个支持方向的应用。这意味着,我只想要
LandscapeLeft or LandscapeRight
我不想要两个。但
SupportedOrientations
仅允许3种模式横向,纵向或两者。 我怎么解决呢?
答案 0 :(得分:2)
由于你不能强迫LandscapeLeft或LandscapeRight,你必须破解它。
通过在方向更改时将整个页面旋转180度,您可以只显示一个方向的外观。我只想在LayoutRoot中使用RenderTransform
,并在orientation change handler中将其旋转设置为180。例如:
private void PhoneApplicationPage_OrientationChanged(object sender, OrientationChangedEventArgs e)
{
if ((e.Orientation & PageOrientation.Portrait) == (PageOrientation.LandscapeLeft))
rotateTransform.Angle = 0;
else if ((e.Orientation & PageOrientation.Portrait) == (PageOrientation.LandscapeLeft))
rotateTransform.Angle = 180;
}
你的XAML会是这样的:
<Grid x:Name="LayoutRoot" RenderTransformOrigin="0.5,0.5">
<Grid.RenderTransform>
<RotateTransform x:Name="rotateTransform" />
</Grid.RenderTransform>
<!-- ... -->
</Grid>