Как отобразить простой HTML в текстовом блоке Silverlight? - PullRequest
7 голосов
/ 14 апреля 2009

У меня есть источник данных, в котором есть HTML-теги (B, I, A), и мне нужно отобразить его в Silverlight ListBox.

Похоже, проблема в поиске, но большинство постов старые и, похоже, имеют отношение к Silverlight 1.

Каков в настоящее время лучший способ отображения простого HTML с помощью Silverlight, если не более того, только теги B, I и A для жирного, курсива и гиперссылок?

Ответы [ 3 ]

3 голосов
/ 14 апреля 2009

В Silverlight 2.0 нет встроенной поддержки. Однако кто-то пошел и создал элемент управления HtmlTextBlock, который должен подходить для ваших целей. Ознакомьтесь с авторским блок-постом на эту тему. Также здесь есть демонстрационная страница .

0 голосов
/ 07 сентября 2012

Если вы хотите сделать это только в XAML:

<TextBlock>
    Text:&#160;<Italic>italic</Italic>&#160;and&#160;<Bold>bold</Bold>
</TextBlock>

& # 160 - это прообраз для космоса. Результат:

Текст: курсив и полужирный

0 голосов
/ 27 ноября 2010

Эта система комментариев дурацкая. Я добавил 2 комментария прошлой ночью. После добавления второго я все еще мог видеть только первый. Сегодня утром, после очистки файлов cookie браузера, я вижу только второй. Wierd.

В любом случае, у меня была проблема с элементом управления, где у меня было привязано свойство Html, и он добавлял html каждый раз, когда свойство менялось. Я исправил это, добавив следующее в начало метода ParseAndSetText():

this.SelectAll();            
this.Selection.Text = "";

У меня также была проблема, когда возникала исключительная ситуация при сбое процедуры синтаксического анализа DOM, и я исправил ее, изменив:

Xaml = null;

с

this.SelectAll();            
this.Selection.Text = ""; 
...