VisualStateManager在Panorama控件中不起作用

时间:2014-07-29 20:16:42

标签: c# windows-phone-8 visualstatemanager panorama-control

我正在尝试在Panorama控件中使用VisualStateManager,但它无法正常工作。

XAML

<phone:Panorama x:Name="Pano">
    <phone:PanoramaItem x:Name="PanoItem">

        <StackPanel x:Name="Stack">
            <VisualStateManager.VisualStateGroups>
                <VisualStateGroup x:Name="VisualStateGroup">
                    <VisualState x:Name="Normal">
                        <Storyboard>
                            <DoubleAnimation Duration="0:0:0.600"
                                             To="90"
                                             Storyboard.TargetProperty="RotationY"
                                             Storyboard.TargetName="plane"
                                             d:IsOptimized="True">
                            </DoubleAnimation>
                        </Storyboard>
                    </VisualState>
                </VisualStateGroup>
            </VisualStateManager.VisualStateGroups>

            <Button Content="some text"
                    x:Name="ToFade">
                <Button.Projection>
                    <PlaneProjection x:Name="plane" />
                </Button.Projection>
            </Button>
            <Button Content="Change"
                    Click="Button_Click" />
        </StackPanel>
    </phone:PanoramaItem>
</phone:Panorama>

背后的代码

    private void Button_Click( object sender, RoutedEventArgs e ) {
        var result = VisualStateManager.GoToState(this, "Normal", true);
    }

奇怪的是,如果我从<StackPanel>取出<Panorama>,状态变化就像魅力一样。

本作品:

<!--<phone:Panorama x:Name="Pano">
    <phone:PanoramaItem x:Name="PanoItem">-->

        <StackPanel x:Name="Stack">

...与上面的代码一样......

        </StackPanel>
    <!--</phone:PanoramaItem>
</phone:Panorama>-->

我尝试将其他控件传递给VisualStateManager.GoToState() thisthis.Panothis.PanoItem,但没有成功。有人可以解释什么是错的吗?为什么?

0 个答案:

没有答案