我试图在XAML中设置我的属性,以便在按下按钮时产生沉没效果。我这样做是通过增加边框厚度来实现的。 它给出了一个错误,指出无法分配特定值。我在这里弄错了什么?
注意:我尝试使用DropShadowEffect但它可以工作,但边框效果不起作用。
这是我的XAML:
NORTH
答案 0 :(得分:3)
为什么不按这样触发:
<Trigger Property="IsPressed" Value="True">
<Setter TargetName="border" Property="BorderThickness" Value="5,5,0,0"/>
<Setter TargetName="border" Property="Effect" Value="..."/>
</Trigger>
修改强>
以下是我在BorderThickness
到Border
内更改ControlTemplate
的{{1}}的简短示例:
Triggers
请原谅那些图像上的劣质比例。
答案 1 :(得分:3)
在资源中定义样式:
<Style TargetType="Button" x:Key="SunkenEffectStyle">
<Style.Triggers>
<EventTrigger RoutedEvent="Button.Click">
<EventTrigger.Actions>
<BeginStoryboard>
<Storyboard>
<ThicknessAnimationUsingKeyFrames Storyboard.TargetProperty="BorderThickness" BeginTime="00:00:00">
<SplineThicknessKeyFrame KeyTime="00:00:01" Value="10,10,0,0" />
<SplineThicknessKeyFrame KeyTime="00:00:03" Value="0,0,0,0" />
</ThicknessAnimationUsingKeyFrames>
</Storyboard>
</BeginStoryboard>
</EventTrigger.Actions>
</EventTrigger>
</Style.Triggers>
</Style>
<强>用法:强>
<Button Content="Click Me" Style="{StaticResource SunkenEffectStyle}"
Height="50" Width="100"/>
此答案还涵盖了您之前的问题here
我在这里使用了关键帧,因为你希望动画在启动时更快,在返回时更慢