Dans un Button
ControlTemplate
J'ai besoin d'accéder à l'événement IsPressed
. Comment je fais ça? Contexte: J'ai ajouté une goutte DropShadowEffect
à Button
Style
mais j'ai obtenu un texte flou. This fix solved the blurry text issue. Cependant, cela a ajouté un nouveau problème. Je voulais supprimer le DropShadowEffect
lorsque l'utilisateur clique sur le bouton. J'ai pensé que je le ferais comme ça;WPF Supprimer Butto DropShadowEffect sur clic par ControlTemplate
<Style x:Key="DropShadowButtons" TargetType="Button">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Button}">
<Grid>
<Border Background="{TemplateBinding Background}">
<Border.Style>
<Style TargetType="{x:Type Border}">
<Setter Property="Border.Effect">
<Setter.Value>
<DropShadowEffect Color="Black" Opacity="0.5" />
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="Button.IsPressed" Value="False">
<Setter Property="Border.Effect">
<Setter.Value>
<DropShadowEffect Color="Black" Direction="320" ShadowDepth="0" BlurRadius="0" Opacity="0" />
</Setter.Value>
</Setter>
</Trigger>
</Style.Triggers>
</Style>
</Border.Style>
</Border>
<Border Background="{TemplateBinding Background}">
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" Margin="5,2,5,0"/>
</Border>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
alors compris que Button.IsPressed
ne serait pas le feu faisant partie de la Border
. Alors, comment ControlTemplate accède-t-il à l'événement IsPressed du bouton?
Merci beaucoup! –