VisualStateManager:设置Panel.ZIndex

时间:2014-08-07 01:35:22

标签: wpf xaml

为什么我不能在VisualStateManager中设置Panel.ZIndex?

我正在构建一个轮播用户界面,我正在努力找出为什么我无法为Panel.ZIndex设置值。

此XAML嵌入在VisualState元素中:

<Storyboard>
    <VisualState>
        <ObjectAnimationUsingKeyFrames
                                    Storyboard.TargetName="MidRightRectangle"
                                    Storyboard.TargetProperty="Rectangle.(Panel.ZIndex)">

            <DiscreteObjectKeyFrame KeyTime="0" Value="4" />
        </ObjectAnimationUsingKeyFrames>
    </Storyboard>
</VisualState>

2 个答案:

答案 0 :(得分:3)

TargetProperty未正确设置。

试试这个。

    <VisualStateManager.VisualStateGroups>
        <VisualStateGroup x:Name="VisualStateGroup">
            <VisualState x:Name="ZIndexChanged">
                <Storyboard>
                    <Int32AnimationUsingKeyFrames Storyboard.TargetProperty="(Panel.ZIndex)" Storyboard.TargetName="MidRightRectangle">
                        <EasingInt32KeyFrame KeyTime="0" Value="4"/>
                    </Int32AnimationUsingKeyFrames>
                </Storyboard>
            </VisualState>
        </VisualStateGroup>
    </VisualStateManager.VisualStateGroups>

答案 1 :(得分:1)

我也从前面的回答中了解到我可以像这样解决动画:

  <Int32Animation    Storyboard.TargetName="MidRightRectangle"
                        Storyboard.TargetProperty="(Panel.ZIndex)"
                        To="4"
                        Duration="0:0:.15">
    </Int32Animation>