【发布时间】:2010-12-17 12:26:46
【问题描述】:
我有一个ButtonControlTemplate,我正在尝试使用Trigger 修改Border 上的DropShadowEffect。这是我的 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" />
但我也收到一条错误消息,告诉我在 Effect 类型的对象上找不到属性 ShadowDepth(因为它使用的是基类而不是 DropShadowEffect)
我该如何解决这个问题?
【问题讨论】:
标签: wpf triggers controltemplate