我正在研究控件的样式。我想在鼠标悬停完成后更改控件的borderthickness。我想在样式本身中编写它,而不是在codebehind
中编写它所以,我尝试了以下方式。
<VisualState x:Name="MouseOver">
<Storyboard>
<DoubleAnimationUsingKeyFrames Storyboard.TargetName="Border" Storyboard.TargetProperty="BorderThickness">
<SplineDoubleKeyFrame KeyTime="0" Value="2" />
</DoubleAnimationUsingKeyFrames>
</Storyboard>
</VisualState>
但这是一个错误。
如何实现此功能。
答案 0 :(得分:5)
在您的案例中使用ObjectAnimationUsingKeyFrames
代替DoubleAnimationUsingKeyFrames
:
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="Border" Storyboard.TargetProperty="BorderThickness">
<DiscreteObjectKeyFrame KeyTime="0" Value="2"/>
</ObjectAnimationUsingKeyFrames>
DoubleAnimationUsingKeyFrames
动画显示Double
属性的值,而BorderThickness
的类型为Thickness
,而不是Double
。