2013-08-23 148 views
4

我是新來的WPF(c#)。我需要使用triggers來實現圖像控制的發光效果。我怎樣才能使mouse-enter事件發光效果? 我想用你的回答,我的風格。對MouseEnter發光效果WPF

我的影響是:

<DropShadowEffect x:Key="MyEffect" ShadowDepth="0" Color="Blue" Opacity="1" BlurRadius="20"/> 

我看到許多聯繫,但他們沒有工作。

+0

的追索,我們也許可以幫助您更好,如果你向我們展示你已經嘗試過什麼。你試過哪個'鏈接'?他們爲什麼不爲你工作? – Jordy

回答

11

要添加輝光Image的控制,你需要設置EffectDropShadowEffectIsMouseOver=True,這樣的事情:

<Image Source="/WpfApplication1;component/myimage.png"> 
    <Image.Style> 
     <Style TargetType="{x:Type Image}"> 
     <Style.Triggers> 
      <Trigger Property="IsMouseOver" Value="True"> 
       <Setter Property="Effect"> 
        <Setter.Value> 
        <DropShadowEffect ShadowDepth="0" Color="Blue" Opacity="1" BlurRadius="20"/> 
        </Setter.Value> 
       </Setter> 
      </Trigger> 
     </Style.Triggers> 
     </Style> 
    </Image.Style> 
</Image> 
7

如果你想重用你的影響,你必須捕捉IsMouseOver觸發器,並設置Control.Effect財產與您在資源中定義的內容。

<Button Width="100" Content="Hello Glow" > 
<Button.Style> 
    <Style> 
    <Style.Triggers> 
    <Trigger Property="Button.IsMouseOver" Value="True"> 
    <Setter Property="Button.Effect" Value="{StaticResource MyEffect}" /> 
    </Trigger> 
    </Style.Triggers> 
    </Style> 
</Button.Style> 
</Button> 

對於這一點,你必須把你的效果在當前頁面/窗口/用戶控件

<Window.Resources> 
<DropShadowEffect x:Key="MyEffect" ShadowDepth="0" Color="Blue" Opacity="1" BlurRadius="20"/> 
</Window.Resources> 
+2

+ 1重構代碼的方法! – aggietech