gpt4 book ai didi

wpf - 如何通过ControlTemplate中的触发器设置DropShadowEffect的属性?

转载 作者:行者123 更新时间:2023-12-03 11:54:15 24 4
gpt4 key购买 nike

我有一个Button ControlTemplate,我正在尝试使用DropShadowEffect修改Border上的Trigger。这是我的Xaml:

<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>

我遇到错误,指出找不到BorderEffect。
我也尝试过:
<Setter Property="Effect.ShadowDepth" TargetName="ButtonBorder" Value="2" />

但是我也收到一条错误消息,告诉我在 ShadowDepth类型的对象上找不到 Effect属性(因为它使用基类而不是 DropShadowEffect)

我该如何解决?

最佳答案

您可以在setter.value中设置整体效果

 <Setter Property="Margin" TargetName="ButtonBorder" Value="13,13,7,7" />
<Setter Property="Effect" TargetName="ButtonBorder" >
<Setter.Value>
<DropShadowEffect ShadowDepth="2" />
</Setter.Value>
</Setter>
</Trigger>

关于wpf - 如何通过ControlTemplate中的触发器设置DropShadowEffect的属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1749882/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com