2009-04-03 8 views
1

Ich mache Aufrufe an einen Webservice, um Informationen zu erhalten, die an die Text-Eigenschaft eines TextBlocks binden. Manchmal enthält die Information codierte Sonderzeichen für HTML - vor allem die ®, die ich an das (r) -Symbol glaube. Der silverlight TextBlock zeigt nur den Rohtext und nicht die (r) an. Natürlich kann ich den Text entfernen, aber es scheint, dass jemand hier weiß, wie man HTMl-Codes wie diese in etwas übersetzt, das der Textblock verstehen kann. Mein erster aber ist ein iValueConverter mit einem Regex relace?Wie übersetze ich eine ® in Silverlight Textdarstellung

hat jemand eine davon getan?

Antwort

2

Sie müssen nur HtmlDecode verwenden:

System.Windows.Browser.HttpUtility.HtmlDecode(yourStringHere) 
+0

Danke. So einfach. Ich konnte dies tun, wo ich die Daten mit XLINQ ziehe. Ich denke auch, dass dies ein einfacher iValueConvert – caryden

1

Ich glaube, Sie sollten ® und nicht $#174; verwenden. Ich bin mir nicht sicher über Silverlight, aber WPF wird diese Literale automatisch übersetzen.

Ich gebe zu, ich glaube nicht, dass dies funktioniert, wenn die Text-Eigenschaft datengebunden ist. Wenn das der Fall ist, dann ist ein IValueConverter in Ordnung. Andernfalls können Sie diese Literale auch in Ihrem Objekt suchen/ersetzen, bevor der Wert gebunden wird. Dies kann in Ihrem ViewModel erreicht werden (wenn Sie MVVM verfolgen).

0

In HTML Entitäten wie & 62 #; beziehen sich auf ihren Dezimalwert in ASCII, so dass es einfach ist, den Ausdruck durch seinen Dezimalwert zu ersetzen.

Ich habe angenommen, dass $ # 174; ist ein Tippfehler und du meinst & # 174;

+0

sein würde. Es tut uns leid. Ich habe oben korrigiert. – caryden

Verwandte Themen