0

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

 <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>

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

非常感谢。

4

1 回答 1

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>    

Style 中的第一个 Setter 将背景颜色显式设置为 null 并将边框粗细设置为 '0' 以“隐藏”边框。当边框控件的 IsMouseOver 属性设置为 true 时,触发器设置边框背景属性。

于 2012-08-18T18:47:45.683 回答