Rectangle
色付きのスライドアウトで現在の State を表示したい ListBox があります。
アイテムがある場合、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>
「または」マルチトリガーがないため、次のトリガーを見つけました。
<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
セットがあるときに が呼び出されることはありませんが、その理由がわかりません。
助けてくれてありがとう。