我需要在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仍然只显示标签,而不是格式化文本。
答案 0 :(得分:0)
我需要在Silverlight文本块中突出显示文本
您可以使用边框包裹textBlock
,并更改mouseEnter
和mouseLeave
上的边框颜色。
<强> 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