在MouseEnter上为图像添加模糊效果;在MouseLeave上删除

时间:2011-02-20 21:33:10

标签: wpf image xaml blur effect

所有,当鼠标悬停在图像上时,我希望图像模糊(使用模糊效果),并在鼠标离开时恢复正常。

我在基于Silverlight的项目中使用WPF 4,XAML和VB.NET 2010。

1 个答案:

答案 0 :(得分:4)

最简单的方法是使用VisualStateManager并修改MouseOverState

<VisualStateGroup x:Name="CommonStateGroup">
    <VisualState x:Name="MouseOverState">
        <Storyboard>
            <DoubleAnimation From="10" To="0" Duration="00:00:02" 
                             Storyboard.TargetName="blurEffect" 
                             Storyboard.TargetProperty="Radius">
            </DoubleAnimation>
        </Storyboard>
    </VisualState>
    ...
</VisualStateGroup>

您可以使用Transition来控制法线的动画 - &gt; MouseOver更改和MouseOver - &gt;正常变化。

然后在显示图像的控件中有以下Effect

    <BlurEffect Radius="10" x:Name="blurEffect"/>

Tutorial
More information