У меня есть ControlTemplate
вот так:
<ControlTemplate TargetType="Button">
<Grid Background="Transparent">
<ContentPresenter x:Name="contentPresenter" HorizontalAlignment="Center"
VerticalAlignment="Center" />
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Effect">
<Setter.Value>
<DropShadowEffect BlurRadius="20" Color="Black" ShadowDepth="0"
Opacity="0.5" />
</Setter.Value>
</Setter>
<Setter Property="FontWeight" Value="SemiBold"/>
</Trigger>
<Trigger Property="IsPressed" Value="True">
<Setter Property="Effect">
<Setter.Value>
<DropShadowEffect BlurRadius="20" Color="Black" ShadowDepth="0" Opacity="1" />
</Setter.Value>
</Setter>
</Trigger>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Foreground" Value="Gray" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
Когда свойство IsMouseOver изменяется на True, я хочу, чтобы все изображения внутри contentPresenter
имели эффект DropShadowEffect, а не сама кнопка.
Я пытался изменить свойство setter на Image.Effect
, но это не работает.
Что мне делать? Это?
Вот как выглядит моя кнопка, когда мышь закончилась:
А вот так оно выглядит, когда его нет:
Как видите, и Image, и TextBlock получают эффект тени. Но я хочу, чтобы его получил только образ.