我正在研究控件的样式。我想在鼠标悬停完成后更改控件的边框厚度。我想用风格本身写这篇文章,而不是用代码绑定写
所以,我尝试了以下方式。
<VisualState x:Name="MouseOver">
<Storyboard>
<DoubleAnimationUsingKeyFrames Storyboard.TargetName="Border" Storyboard.TargetProperty="BorderThickness">
<SplineDoubleKeyFrame KeyTime="0" Value="2" />
</DoubleAnimationUsingKeyFrames>
</Storyboard>
</VisualState>
但这是一个错误。
如何实现此功能。
在您的情况下使用ObjectAnimationUsingKeyFrames
而不是DoubleAnimationUsingKeyFrames
:
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="Border" Storyboard.TargetProperty="BorderThickness">
<DiscreteObjectKeyFrame KeyTime="0" Value="2"/>
</ObjectAnimationUsingKeyFrames>
DoubleAnimationUsingKeyFrames
为Double
属性的值设置动画,而BorderThickness
是Thickness
的类型,而不是Double
。