我有一个,当我把鼠标放在它上面时TextBlock
,我想突出显示它。Button
通常,只有文本突出显示。有谁知道如何做到这一点?我会很感激一个例子。
提前致谢。
我有一个,当我把鼠标放在它上面时TextBlock
,我想突出显示它。Button
通常,只有文本突出显示。有谁知道如何做到这一点?我会很感激一个例子。
提前致谢。
根据您的总体要求,您有多种选择来完成此操作。您的问题将来自提供背景,因为 TextBlock 默认情况下没有该属性可用作框架元素。但是,这里有几种方法;
您可以使用HyperlinkButton
模板来指定您的颜色更改等到Content
Foreground
背景Border
或其中的Rectangle
某些内容,VisualStateManager
然后将您的文本设置为HyperlinkButton
类型。这通常可以通过查看默认模板来快速解决。
您可以创建一个TextBlock
带有 a 的模板VisualStateManager
来执行上述相同类型的操作。
如果仅针对单个实例或几个地方,您可以使用EventTrigger
附加到对象来完成相同的事情,例如;
命名空间:
xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity" xmlns:ei="http://schemas.microsoft.com/expression/2010/interactions"
<Border x:Name="MyBackground">
<TextBlock x:Name="MyForeground" Text="Hover Over Me!" Margin="5">
<i:Interaction.Triggers>
<i:EventTrigger EventName="MouseEnter">
<ei:ChangePropertyAction TargetName="MyForeground"
PropertyName="Foreground"
Value="Orange" />
<ei:ChangePropertyAction TargetName="MyBackground"
PropertyName="Background"
Value="Blue" />
</i:EventTrigger>
<i:EventTrigger EventName="MouseLeave">
<ei:ChangePropertyAction TargetName="MyForeground"
PropertyName="Foreground"
Value="Black" />
<ei:ChangePropertyAction TargetName="MyBackground"
PropertyName="Background"
Value="Transparent" />
</i:EventTrigger>
</i:Interaction.Triggers>
</TextBlock>
</Border>
这只是与本示例中未包含的其他几种方法一起完成它的几种可能方法。希望这可以帮助。:)