Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 旋转地铁式_C#_Microsoft Metro_Rotation_.net 4.5 - Fatal编程技术网

C# 旋转地铁式

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">

目前我正在使用Metro风格的应用程序(.NET 4.5 RC[C#XAML],VS2012 RC),我有一个问题无法解决

我想实现我的应用程序将改变布局时,主机设备旋转(+-45)。我已经在XAML中准备了两个布局-一个用于横向,另一个用于纵向,我还为视觉状态制作了一些动画:

<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在状态之间切换-这是我当前项目中缺少的部分。解决办法是:

  • 手动处理WindowsSizeChanged事件,并使用VisualStateManager类和goState()方法
  • 创建新项目(网格应用程序)并将其与当前项目相适应

  • 您看过默认模板了吗?你可以看到他们在那里的表现