View Full Version : [WPF] Storyboard e Mouse Over
robertino_salemi
15-05-2015, 15:30
Buonasera,
ho la seguente storyboard:
<Storyboard x:Key="myStoryBoard"
BeginTime="00:00:00"
RepeatBehavior="Forever"
Storyboard.TargetName="myBtn"
Storyboard.TargetProperty="(Foreground).(SolidColorBrush.Color)">
<ColorAnimation From="Black" To="Red" Duration="0:0:1"/>
</Storyboard>
<Button Name="myBtn" Margin="10" Height="30" Content="MY BUTTON">
I setto questa tramite .Begin() e .Stop() ed essa lavora bene.
Ho solo un problema, con il MouseOver l'effetto blink viene 'stoppato', come mai?
Grazie.
[Kendall]
15-05-2015, 17:05
Buonasera,
ho la seguente storyboard:
<Storyboard x:Key="myStoryBoard"
BeginTime="00:00:00"
RepeatBehavior="Forever"
Storyboard.TargetName="myBtn"
Storyboard.TargetProperty="(Foreground).(SolidColorBrush.Color)">
<ColorAnimation From="Black" To="Red" Duration="0:0:1"/>
</Storyboard>
<Button Name="myBtn" Margin="10" Height="30" Content="MY BUTTON">
I setto questa tramite .Begin() e .Stop() ed essa lavora bene.
Ho solo un problema, con il MouseOver l'effetto blink viene 'stoppato', come mai?
Grazie.
Non dovrebbe succedere.
Hai qualche metodo associato all'evento MouseOver? Nel caso prova a postare il codice. E sarebbe da vedere anche il codice dove fai il begin e dove fai lo stop dell'animazione.
Come nota a parte, prova una animazione di questo tipo, credo la troverai più naturale e fluida di quella attuale (dove il passaggio da rosso a nero è istantaneo, dando un'effetto un pò scattoso all'animazione).
<Storyboard x:Key="myStoryBoard"
RepeatBehavior="Forever"
Storyboard.TargetName="myBtn"
Storyboard.TargetProperty="(Foreground).(SolidColorBrush.Color)"
AutoReverse="True">
<ColorAnimation From="Black" To="Red" Duration="0:0:1">
<ColorAnimation.EasingFunction>
<ExponentialEase Exponent="6" EasingMode="EaseOut"/>
</ColorAnimation.EasingFunction>
</ColorAnimation>
</Storyboard>
robertino_salemi
18-05-2015, 08:47
Kendall,
ho modificato il la StoryBoard come da te suggerito, adesso l'effetto è più fluido, meglio!
Ho risolto anche il problema del MouseOver.
Nella mia applicazione sto utilizzando ModernUI (https://mui.codeplex.com/), essa applica i suoi style custom.
Ho creato uno style che esegue un override di quello di default:
<Style x:Key="btnCheckForSamplingStyle" TargetType="{x:Type Button}">
<Setter Property="Background" Value="Transparent" />
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
</Trigger>
</Style.Triggers>
</Style>
Grazie di tutto,
Roberto.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.