Выделите текст в Silverlight (цвет фона желтый) - PullRequest
0 голосов
/ 27 октября 2011

Мне нужно выделить текст в текстовом блоке Silverlight или RichTextBox. Я попытался просто добавить теги к текстовому прогону RTB, но они просто отображаются в тексте, как:

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

Я пытался просто выделить текст следующим образом:

myRTB.Selection.Select(textPtr1, textPtr2);

, но выделяется стандартным синим цветом . Мне нужно сделать цвет фона желтым, но похоже, что я могу изменить только цвет переднего плана прогона. Почему это, и какие-либо идеи для меня?

UPDATE:

Я пытался использовать только TextBlock с конвертером значений, который добавляет Run следующим образом:

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

но TextBlock все же показывает только теги, а не форматированный текст.

Ответы [ 2 ]

0 голосов
/ 05 февраля 2013

Liquid.RichTextBox может вам помочь.

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

0 голосов
/ 28 октября 2011

Мне нужно выделить текст в текстовом блоке 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
...