#silverlight #silverlight-4.0 #silverlight-3.0 #expression-blend #expression-blend-4
#silverlight #silverlight-4.0 #silverlight-3.0 #выражение-blend #выражение-blend-4
Вопрос:
Мои визуальные состояния определены в UserControl.Ресурсы. Это пример :-
<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
of listbox
. Я использую GoToStateAction
поведение Blend. Однако он не может найти мои состояния. Но если я попытаюсь изменить состояния извне itemtemplate, это будет доступно. Это так раздражает. Как мне обойти эту проблему?
Заранее спасибо 🙂
Ответ №1:
Вы пробовали определять визуальные состояния как часть вашего контейнера корневого макета, а не в разделе ресурсов?