Ho un Button
ControlTemplate
e sto cercando di modificare un DropShadowEffect
su un Border
utilizzando un Trigger
. Ecco il mio Xaml:Come posso impostare una proprietà di DropShadowEffect tramite un trigger in un oggetto 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>
Si verifica un errore che indica che BorderEffect non può essere trovato.
Ho anche provato:
<Setter Property="Effect.ShadowDepth" TargetName="ButtonBorder" Value="2" />
Ma ho anche un errore che mi diceva che la proprietà ShadowDepth
non è stato trovato l'oggetto di tipo Effect
(perché sta usando la classe base, invece di DropShadowEffect
)
Come posso risolvere questo?
Sì, questo è quello che ho finito per usare, ma io, che ci fosse un modo per modificare solo la proprietà che ho bisogno ... Grazie :-) –