在 Silverlight 中突出显示文本(背景色黄色)

发布于 2024-12-12 02:00:06 字数 562 浏览 0 评论 0原文

我需要突出显示 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 仍然只显示标签,而不是格式化文本。

I need to highlight text in a Silverlight Textblock or RichTextBox. I've tried just adding tags to the text run of the RTB but they simply show up in the text like:

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

I've tried just selecting the text like this:

myRTB.Selection.Select(textPtr1, textPtr2);

but that highlights in the standard blue-ish colour. I need to make the background colour yellow, but looks like I can only change the Foreground colour of a Run. Why is that, and any ideas for me?

UPDATE:

I've tried using just a TextBlock with a value converter that adds a Run like this:

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

but still the TextBlock just shows the tags, not the formatted text.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

掩耳倾听 2024-12-19 02:00:06

我需要突出显示 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

I need to highlight text in a Silverlight Textblock

You can wrap your textBlock with a border, and change the border color on mouseEnter and mouseLeave.

XAML:

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

Code behind:

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
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文