Silverlight XAML在鼠标上方突出显示文本块背景

Silverlight XAML在鼠标上方突出显示文本块背景,silverlight,xaml,Silverlight,Xaml,我有一个文本块,当我把鼠标放在上面时,我想像一个按钮一样突出显示它。通常,只有文本高亮显示。有人知道怎么做吗?我希望能举个例子 提前感谢。根据您的总体需求,您有多种选择来完成此任务。您的问题将来自提供背景,因为默认情况下TextBlock没有该属性作为框架元素可用。然而,这里有一些方法 您可以使用HyperlinkButton模板指定内容前景、背景边框或矩形或其VisualStateManager中的其他内容的颜色更改等,并将文本设置为HyperlinkButton类型。这通常可以通过查看默认模

我有一个文本块,当我把鼠标放在上面时,我想像一个按钮一样突出显示它。通常,只有文本高亮显示。有人知道怎么做吗?我希望能举个例子


提前感谢。

根据您的总体需求,您有多种选择来完成此任务。您的问题将来自提供背景,因为默认情况下TextBlock没有该属性作为框架元素可用。然而,这里有一些方法

您可以使用HyperlinkButton模板指定内容前景、背景边框或矩形或其VisualStateManager中的其他内容的颜色更改等,并将文本设置为HyperlinkButton类型。这通常可以通过查看默认模板很快解决

您可以使用VisualStateManager创建一个TextBlock模板,以执行上述相同类型的操作

如果只针对一个实例或几个地方,您可以使用连接到对象的EventTrigger来完成相同的任务,如

名称空间:

xmlns:我=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>
这只是实现它的几种可能方法,本例中没有包括其他几种方法。希望这有帮助