仅在WPF/XAML中悬停的图像上投下阴影效果或模糊效果

now*_*ed. 0 c# wpf xaml visual-studio-2010

我有一个阴影属性定义如下的图像.

 <Border Background="Black" Margin="42,180,368,38">
   <Border.Effect>
     <DropShadowEffect Color="Aqua"  Opacity="0.5"/>
   </Border.Effect>

   <Image Height="92" Width="97" Source="/Images/image_search.png" />
 </Border>
Run Code Online (Sandbox Code Playgroud)

这会生成带边框的图像.好.但是,我需要仅在图像悬停时显示边框?我怎么做 ?另外,如何模糊悬停在它上面的图像?

非常感谢.

Bat*_*tuu 8

您可以使用样式和触发器执行此操作.

    <Border Margin="42,180,368,38"> 
        <Border.Style>
            <Style TargetType="Border">
                <Setter Property="Background" Value="{x:Null}"/>
                <Setter Property="BorderThickness" Value="0"/>
                  <Style.Triggers>
                    <Trigger Property="Border.IsMouseOver" Value="True">
                        <Setter Property="Background" Value="Black"/>                            
                        <Setter Property="Effect">
                            <Setter.Value>
                                <DropShadowEffect Color="Aqua"  Opacity="0.5"/>
                            </Setter.Value>
                        </Setter>
                    </Trigger>
                </Style.Triggers>
            </Style>
        </Border.Style>            
        <Image Height="92" Width="97" Source="/Images/image_search.png" />
    </Border>    
Run Code Online (Sandbox Code Playgroud)

样式中的第一个Setter将背景颜色显式设置为null,边框粗细设置为"0"以"隐藏"边框.当边框控件的IsMouseOver属性设置为true时,Trigger设置边框背景属性.