2009-04-14 8 views
7

Ich habe eine Quelle von Daten, die HTML-Tags enthält (B, I, A) und müssen dies in einer Silverlight ListBox anzeigen.Wie kann man einfaches HTML in einem Silverlight-Textblock anzeigen?

Suchen herum scheint es ein Problem sein, aber die meisten Beiträge sind alt und haben mit Silverlight 1 zu tun, wie es scheint.

Was ist derzeit der beste Weg, um einfach HTML mit Silverlight anzuzeigen, nicht zuletzt die B-, I- und A-Tags für Fett-, Kursiv- und Hyperlinks?

Antwort

3

In Silverlight 2.0 gibt es keine systemeigene Unterstützung. Jedoch ist jemand gegangen und hat eine HtmlTextBlock Steuerung erstellt, die für Ihre Zwecke geeignet sein sollte. Schauen Sie sich die block post des Autors zum Thema an. Es gibt auch eine Demo-Seite here.

+0

Scheint, wie der Server den Blog ist unten im Moment Hosting. Sie können die Quelle weiterhin von http://delay.members.winisp.net/SilverlightHtmlTextBlock/SilverlightHtmlTextBlock.zip herunterladen. Beachten Sie, dass es für die Silverlight 2.0-Beta geschrieben wurde, so dass es möglicherweise einige kleinere Änderungen benötigt, um jetzt zu arbeiten. – Noldorin

-1

Dieses Kommentar-System ist verrückt. Ich habe letzte Nacht 2 Kommentare hinzugefügt. Nachdem ich die zweite hinzugefügt hatte, konnte ich immer noch nur die erste sehen. Heute Morgen, nachdem ich die Cookies gelöscht habe, sehe ich nur noch meine zweite. Sonderbar.

Wie auch immer, ich hatte ein Problem mit dem Steuerelement, wo ich seine Html-Eigenschaft gebunden hatte, und es wurde jedes Mal html angehängt, wenn die Eigenschaft geändert wurde. Ich reparierte sie durch Zugabe der folgenden an die Spitze der ParseAndSetText() Methode:

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

Ich hatte auch ein Problem, wo eine Ausnahme ausgelöst wurde, als die DOM-Parsing-Routine nicht, und ich regelte es durch Änderung:

Xaml = null; 

mit

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

Wenn Sie es nur in XAML zu tun:

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

Die & # 160 ist eine Antness für den Weltraum. Das Ergebnis ist:

Text: kursiv und fett

Verwandte Themen