如何在鼠标悬停时更改边框粗细

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>

DoubleAnimationUsingKeyFramesDouble 属性的值设置动画,而BorderThicknessThickness 的类型,而不是Double

【讨论】:

以上是关于如何在鼠标悬停时更改边框粗细的主要内容,如果未能解决你的问题,请参考以下文章

将鼠标悬停在列表上时如何更改锚点颜色

html鼠标悬停图片边框出现

html表格如何通过更改悬停边框来突出显示列?

如何使悬停信息气泡出现在 WPF 中的鼠标悬停上?

鼠标悬停时隐藏组合框边框

如何在 Material ui 数据表中悬停或鼠标悬停时更改表格行背景颜色