0

我在 UserControl.Resources 中定义了我的视觉状态。这是示例:-

<VisualStateManager.VisualStateGroups>
            <VisualStateGroup x:Name="AlbumDetailsStates">
                <VisualStateGroup.Transitions>
                    <VisualTransition GeneratedDuration="0:0:0.3">
                        <VisualTransition.GeneratedEasingFunction>
                            <CircleEase EasingMode="EaseIn"/>
                        </VisualTransition.GeneratedEasingFunction>
                    </VisualTransition>
                </VisualStateGroup.Transitions>
                <VisualState x:Name="HideState"/>
                <VisualState x:Name="ShowState">
                    <Storyboard>
                        <DoubleAnimation Duration="0" To="250" Storyboard.TargetProperty="(FrameworkElement.Width)" Storyboard.TargetName="border" d:IsOptimized="True"/>
                        <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(TextBlock.TextWrapping)" Storyboard.TargetName="textBlock">
                            <DiscreteObjectKeyFrame KeyTime="0">
                                <DiscreteObjectKeyFrame.Value>
                                    <TextWrapping>NoWrap</TextWrapping>
                                </DiscreteObjectKeyFrame.Value>
                            </DiscreteObjectKeyFrame>
                        </ObjectAnimationUsingKeyFrames>
                        <DoubleAnimation Duration="0" To="1" Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="border" d:IsOptimized="True"/>
                    </Storyboard>
                </VisualState>
            </VisualStateGroup>
        </VisualStateManager.VisualStateGroups>
        <VisualStateManager.CustomVisualStateManager>
            <ei:ExtendedVisualStateManager/>
        </VisualStateManager.CustomVisualStateManager>

现在我想从我itemtemplate的内部更改状态listbox。我正在使用GoToStateActionBlend 的行为。但是它无法找到我的状态。但是,如果我尝试从外部 itemtemplate 更改状态,它是可用的。这太烦人了。我该如何解决这个问题?

提前致谢 :)

4

1 回答 1

0

您是否尝试过将视觉状态定义为根布局容器的一部分,而不是在资源部分?

于 2011-08-23T12:42:38.933 回答