突出显示Silverlight中的文本(背景颜色为黄色)

时间:2011-10-27 19:41:23

标签: silverlight richtextbox

我需要在Silverlight Textblock或RichTextBox中突出显示文本。我曾尝试在RTB的文本运行中添加标签,但它们只是在文本中显示如下:

Some <Bold>text</Bold> in a RTB

我试过选择这样的文字:

myRTB.Selection.Select(textPtr1, textPtr2);

突出显示标准的蓝色。我需要将背景颜色设置为黄色,但看起来我只能更改运行的前景颜色。为什么这样,对我来说有什么想法?

更新:

我尝试使用带有值转换器的TextBlock,它添加了一个像这样的Run:

return String.Format("<Run Foreground=\"Red\">{0}</Run>", value.ToString());

但TextBlock仍然只显示标签,而不是格式化文本。

2 个答案:

答案 0 :(得分:0)

  

我需要在Silverlight文本块中突出显示文本

您可以使用边框包裹textBlock,并更改mouseEntermouseLeave上的边框颜色。

<强> XAML

 <Border x:Name="myTxtBorder" MouseEnter="myTxtBorder_MouseEnter" MouseLeave="myTxtBorder_MouseLeave">
        <TextBlock Text="Hover me and yellow you'll see!"/>
  </Border>

代码背后:

Private Sub myTxtBorder_MouseEnter(sender As System.Object, e As System.Windows.Input.MouseEventArgs)
        myTxtBorder.Background = New SolidColorBrush(Colors.Yellow)
    End Sub

    Private Sub myTxtBorder_MouseLeave(sender As System.Object, e As System.Windows.Input.MouseEventArgs)
        myTxtBorder.Background = New SolidColorBrush(Colors.White)
    End Sub

答案 1 :(得分:0)

Liquid.RichTextBox可能对您有帮助。

http://vectorlight.net/silverlight/controls/rich_textbox.aspx