C# 旋转地铁式
目前我正在使用Metro风格的应用程序(.NET 4.5 RC[C#XAML],VS2012 RC),我有一个问题无法解决 我想实现我的应用程序将改变布局时,主机设备旋转(+-45)。我已经在XAML中准备了两个布局-一个用于横向,另一个用于纵向,我还为视觉状态制作了一些动画:C# 旋转地铁式,c#,microsoft-metro,rotation,.net-4.5,C#,Microsoft Metro,Rotation,.net 4.5,目前我正在使用Metro风格的应用程序(.NET 4.5 RC[C#XAML],VS2012 RC),我有一个问题无法解决 我想实现我的应用程序将改变布局时,主机设备旋转(+-45)。我已经在XAML中准备了两个布局-一个用于横向,另一个用于纵向,我还为视觉状态制作了一些动画: <VisualStateManager.VisualStateGroups> <VisualStateGroup x:Name="ApplicationViewStates">
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="ApplicationViewStates">
<VisualState x:Name="FullScreenLandscape"/>
<VisualState x:Name="Filled"/>
<VisualState x:Name="FullScreenPortrait">
<Storyboard>
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="ControlContentLandscape" Storyboard.TargetProperty="Visibility">
<DiscreteObjectKeyFrame KeyTime="0" Value="Collapsed"/>
</ObjectAnimationUsingKeyFrames>
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="ControlContentPortrait" Storyboard.TargetProperty="Visibility">
<DiscreteObjectKeyFrame KeyTime="0" Value="Visible"/>
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</VisualState>
<VisualState x:Name="Snapped"/>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
但我不知道下一步该怎么办。如何设置我的应用程序,使其在设备进入纵向模式时执行这些动画?我已经分析了网格应用程序模板。我注意到主页继承自公共文件夹中的LayoutWarePage类。LayoutWarePage类提供WindowSizeChanged事件的处理程序,该事件使用VisualStateManager在状态之间切换-这是我当前项目中缺少的部分。解决办法是:
您看过默认模板了吗?你可以看到他们在那里的表现