Windows Phone 8.0 Silverlight如何只使一个支持的方向

时间:2014-07-25 17:02:59

标签: silverlight windows-phone-8 screen-orientation

我想获得只有一个支持方向的应用。这意味着,我只想要

LandscapeLeft or LandscapeRight

我不想要两个。但

SupportedOrientations

仅允许3种模式横向,纵向或两者。 我怎么解决呢?

1 个答案:

答案 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>