我是 WPF(c#) 的新手。我需要使用triggers
. 我怎样才能使mouse-enter
事件发光效果?我想用你的回答我的风格。
我的效果是:
<DropShadowEffect x:Key="MyEffect" ShadowDepth="0" Color="Blue" Opacity="1" BlurRadius="20"/>
我看到很多链接,但它们不起作用。
我是 WPF(c#) 的新手。我需要使用triggers
. 我怎样才能使mouse-enter
事件发光效果?我想用你的回答我的风格。
我的效果是:
<DropShadowEffect x:Key="MyEffect" ShadowDepth="0" Color="Blue" Opacity="1" BlurRadius="20"/>
我看到很多链接,但它们不起作用。
要添加发光来控制,您Image
需要设置when ,如下所示:Effect
DropShadowEffect
IsMouseOver=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>
如果您想重用您的效果,您必须捕获 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>