В .NET 3.5 Я использовал OuterGlowBitmapEffect для события MouseOver, и он отлично работал.Button Styling OuterGlowBitmapEffect -> DropShadowEffect
Теперь я перехожу к .NET 4.0 и не работает - устарел, поэтому я переписал свой код DropShadowEffect.
Это работает, но между мышкой и началом анимации существует большая задержка - около 500 мс. Кто-нибудь знает, почему, пожалуйста? Или что я делаю неправильно?
Стиль:
<Style x:Key="Button" TargetType="{x:Type Button}">
<Style.Setters>
<Setter Property="Effect">
<Setter.Value>
<DropShadowEffect ShadowDepth="0" Color="Yellow" BlurRadius="800" RenderingBias="Performance" Opacity="0" />
</Setter.Value>
</Setter>
</Style.Setters>
<Style.Triggers>
<Trigger Property="Button.IsMouseOver" Value="True">
<Trigger.EnterActions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetProperty="Effect.Opacity" From="0" To="1" By="1" BeginTime="0:0:0" Duration="0:0:0" />
<DoubleAnimation Storyboard.TargetProperty="Effect.Opacity" From="1" To="0" By="1" BeginTime="0:0:1" Duration="0:0:0" />
</Storyboard>
</BeginStoryboard>
</Trigger.EnterActions>
</Trigger>
</Style.Triggers>
И кнопка:
<Button Content="B1" Canvas.Left="207" Canvas.Top="321" Height="70" Name="btn1" Style="{StaticResource Button}" Width="380" />
Вы используете «AllowsTransparency = True» в своем окне? –
Да, но это не влияет ... – Commanche
Вы имеете в виду, что вы пытались установить его на false, но это не ускорило работу? это известная проблема. –