<Grid>
<Rectangle Name="Rectangle1" MouseEnter="ColorChangeMouseEvent" Margin="198,17,0,0" Height="88"
VerticalAlignment="Top" HorizontalAlignment="Left" Width="100">
<VisualStateManager.VisualStateGroups>
<VisualStateGroup Name="MouseStates">
<VisualState Name="BlueState" />
<VisualStateGroup.Transitions>
<VisualTransition To="BlueState" GeneratedDuration="0:0:5">
<VisualTransition.Storyboard>
<Storyboard>
<ColorAnimation To="Blue" Storyboard.TargetName="rectBrush" Storyboard.TargetProperty="Color"/>
</Storyboard>
</VisualTransition.Storyboard>
</VisualTransition>
</VisualStateGroup.Transitions>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<Rectangle.Fill>
<SolidColorBrush x:Name="rectBrush" Color="Orange"/>
</Rectangle.Fill>
</Rectangle>
</Grid>private void ColorChangeMouseEvent(object sender, MouseEventArgs e)
{
if (Rectangle1.IsMouseOver)
{
VisualStateManager.GoToElementState(Rectangle1, "BlueState", true);
}
}
当把鼠标移到矩形上时,颜色渐变,5秒钟后,恢复成Orange颜色,因为BlueState状态的颜色和初始的颜色是一样的。不过:
请你调试3次(每次都重新调试),3次当中,你一定会遇到有一次,颜色一直都不恢复成Orange颜色,
这是为什么呢?请问
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货