1

当用户按下按钮时,我需要在运行时将我的表面应用程序的 UI 旋转 180 度。我该怎么做呢?

4

1 回答 1

1

只需在最上面的面板上应用一个RotateTransform(如果你愿意,我认为你甚至可以在实际的表面窗口上进行),角度为 180 度。

<s:SurfaceWindow x:Class="SurfaceApplication1.SurfaceWindow1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:s="http://schemas.microsoft.com/surface/2008"
    Title="SurfaceApplication1">
  <Grid>
    <Grid.LayoutTransform>
      <RotateTransform x:Name="mainOrientation"/>
    </Grid.LayoutTransform>
    <s:SurfaceButton Click="btn_Click" Content="Click to rotate" />   
    ... other content here ...
   </Grid>
</s:SurfaceWindow>

在后面的代码中:

private void btn_Click (object sender, RoutedEventArgs e)
{
    if (mainOrientation.Angle == 0)
        mainOrientation.Angle = 180;
    else
        mainOrientation.Angle = 0;
}

作为相关主题,您还可以侦听表面的OrientationChanged 事件以了解用户何时更改了应用程序的一侧。一个好的做法是在发生这种情况时将应用程序翻转到正确的一侧。

于 2010-05-05T16:54:42.033 回答