Добавить эффект размытия к изображению на MouseEnter; Удалить на MouseLeave - PullRequest
0 голосов
/ 21 февраля 2011

все, я хочу, чтобы изображение размылось (с помощью эффекта размытия), когда мышь на него наведена, и вернулось в нормальное состояние, когда мышь уходит.

Я использую WPF 4, XAML и VB.NET 2010 в проекте на основе Silverlight.

1 Ответ

4 голосов
/ 21 февраля 2011

Самый простой способ - использовать 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 для управления анимацией изменения Normal -> MouseOver и изменения MouseOver -> Normal независимо.

Тогда в элементе управления, отображающем изображение, есть следующее Effect:

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

Учебник
Дополнительная информация

...