J'ai un Button
ControlTemplate
et j'essaye de modifier un DropShadowEffect
sur un Border
en utilisant un Trigger
. Voici mon Xaml:Comment puis-je définir une propriété d'un DropShadowEffect via un déclencheur dans un ControlTemplate?
<Button.Template>
<ControlTemplate TargetType="Button">
<Border x:Name="ButtonBorder" Margin="10" CornerRadius="5" Background="Gray">
<Border.Effect>
<DropShadowEffect ShadowDepth="5" x:Name="BorderEffect" />
</Border.Effect>
<ContentPresenter HorizontalAlignment="Center" />
</Border>
<ControlTemplate.Triggers>
<Trigger Property="Button.IsMouseOver" Value="True">
<Setter Property="Background" TargetName="ButtonBorder" Value="LightGray" />
</Trigger>
<Trigger Property="Button.IsPressed" Value="True">
<Setter Property="Margin" TargetName="ButtonBorder" Value="13,13,7,7" />
<!-- this is where I get the error -->
<Setter Property="ShadowDepth" TargetName="BorderEffect" Value="2" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Button.Template>
Je reçois une erreur indiquant que l'effet BorderEffect est introuvable.
J'ai aussi essayé:
<Setter Property="Effect.ShadowDepth" TargetName="ButtonBorder" Value="2" />
mais je reçois aussi une erreur me disant que la propriété ShadowDepth
n'a pas pu être trouvé sur l'objet de type Effect
(parce qu'il utilise la classe de base au lieu de DropShadowEffect
)
Comment puis-je résoudre ce problème?
Ouais, c'est ce que je fini par utiliser, mais je qui il y avait un moyen de modifier simplement la propriété que j'ai besoin ... Merci :-) –