【发布时间】:2014-05-14 16:13:51
【问题描述】:
我的代码接近完成我想要的,但我需要一些帮助。当我将鼠标悬停在单个列表框项目上时,我想从无背景颜色淡入到 0.5 不透明度橙色。这是我目前拥有的:
<ListBox.ItemContainerStyle>
<Style TargetType="{x:Type ListBoxItem}">
<Setter Property="HorizontalContentAlignment" Value="Stretch"/>
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Control.Background" Value="Orange" />
<Setter Property="Control.BorderBrush" Value="SteelBlue" />
<Setter Property="Control.BorderThickness" Value="1" />
<Trigger.EnterActions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation
Storyboard.TargetProperty="Opacity" To=".5"
Duration="0:0:0.4"/>
</Storyboard>
</BeginStoryboard>
</Trigger.EnterActions>
<Trigger.ExitActions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation
Storyboard.TargetProperty="Opacity" To="0"
Duration="0:0:0"/>
</Storyboard>
</BeginStoryboard>
</Trigger.ExitActions>
</Trigger>
</Style.Triggers>
</Style>
</ListBox.ItemContainerStyle>
但这会导致单个 ENTIRE 列表框项目在鼠标悬停时显示 0.5 不透明度橙色,然后在鼠标离开时完全消失。所以有两个问题:如何仅对每个列表框项的背景颜色属性进行动画处理,以及如何对动画进行排序以使其正常工作?
【问题讨论】: