如何在鼠标悬停时更改边框粗细
Posted
技术标签:
【中文标题】如何在鼠标悬停时更改边框粗细【英文标题】:How to change the border thickness in mouseover 【发布时间】:2012-08-27 13:36:41 【问题描述】:我正在研究控件的样式。鼠标悬停完成后,我想更改控件的边框厚度。我想用样式本身来写这个,而不是用代码隐藏来写
所以,我尝试了以下方式。
<VisualState x:Name="MouseOver">
<Storyboard>
<DoubleAnimationUsingKeyFrames Storyboard.TargetName="Border" Storyboard.TargetProperty="BorderThickness">
<SplineDoubleKeyFrame KeyTime="0" Value="2" />
</DoubleAnimationUsingKeyFrames>
</Storyboard>
</VisualState>
但这会引发错误。
我怎样才能实现这个功能。
【问题讨论】:
【参考方案1】:在您的情况下使用ObjectAnimationUsingKeyFrames
而不是DoubleAnimationUsingKeyFrames
:
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="Border" Storyboard.TargetProperty="BorderThickness">
<DiscreteObjectKeyFrame KeyTime="0" Value="2"/>
</ObjectAnimationUsingKeyFrames>
DoubleAnimationUsingKeyFrames
为Double
属性的值设置动画,而BorderThickness
是Thickness
的类型,而不是Double
。
【讨论】:
以上是关于如何在鼠标悬停时更改边框粗细的主要内容,如果未能解决你的问题,请参考以下文章