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>    

スタイル内の最初のセッターは、背景色をnullに明示的に設定し、境界線の太さを「0」に設定して境界線を「非表示」にします。境界線コントロールのIsMouseOverプロパティがtrueに設定されている場合、トリガーは境界線の背景プロパティを設定します。

于 2012-08-18T18:47:45.683 に答える