У меня есть ListBox, где я хочу отображать текущее состояние с цветным Rectangle
.ListBoxItem Сохранение стиля MouseOver и выбранный стиль
когда деталь Selected
илиMouseOver
Recangle
должны распространяться в противном случае оно должно сокращаться.
<ControlTemplate.Resources>
<Storyboard x:Key="MoveOutStoryboard">
<DoubleAnimation To="175"
Storyboard.TargetProperty="Width"
Storyboard.TargetName="AnimatingGrid">
<DoubleAnimation.EasingFunction>
<QuinticEase EasingMode="EaseOut" />
</DoubleAnimation.EasingFunction>
</DoubleAnimation>
<ColorAnimation Storyboard.TargetName="ContentPresenter"
Storyboard.TargetProperty="(TextElement.Foreground).(SolidColorBrush.Color)"
To="White" />
</Storyboard>
<Storyboard x:Key="MoveInStoryboard">
<DoubleAnimation To="16"
Storyboard.TargetProperty="Width"
Storyboard.TargetName="AnimatingGrid">
<DoubleAnimation.EasingFunction>
<QuinticEase EasingMode="EaseOut" />
</DoubleAnimation.EasingFunction>
</DoubleAnimation>
<ColorAnimation Storyboard.TargetName="ContentPresenter"
Storyboard.TargetProperty="(TextElement.Foreground).(SolidColorBrush.Color)"
To="Black" />
</Storyboard>
</ControlTemplate.Resources>
Как нет «или» MultiTrigger я понял следующее Trigger:
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Trigger.EnterActions>
<BeginStoryboard Storyboard="{StaticResource MoveOutStoryboard}" />
</Trigger.EnterActions>
</Trigger>
<Trigger Property="IsSelected" Value="True">
<Trigger.EnterActions>
<BeginStoryboard Storyboard="{StaticResource MoveOutStoryboard}" />
</Trigger.EnterActions>
</Trigger>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="IsMouseOver" Value="False" />
<Condition Property="IsSelected" Value="False" />
</MultiTrigger.Conditions>
<MultiTrigger.EnterActions>
<BeginStoryboard Storyboard="{StaticResource MoveInStoryboard}" />
</MultiTrigger.EnterActions>
</MultiTrigger>
</ControlTemplate.Triggers>
Но почему-то MoveOutStoryboard
никогда не вызывается, когда я последний MultiTrigger
набор, но я не могу понять, почему ,
Спасибо за помощь.
Эти две раскадровки оживляют одни и те же свойства? Попробуйте остановить активный раскадровки, прежде чем активировать новый, чтобы получить доступ к анимированным свойствам. – icebat
поделиться некоторым примером кода для 'MoveOutStoryboard' &' MoveInStoryboard' – pushpraj
Я добавил раскадровки на мой вопрос. В моем понимании MoveInStorybard, активированный последним триггером, должен переопределять предыдущие анимации. –