2009-04-03 1 views
1

Webサービスを呼び出して、TextBlockのTextプロパティにバインドする情報を取得します。情報には、HTMLのエンコードされた特殊文字が含まれます。特に、(r)記号と思われる®があります。 SilverlightのTextBlockは、生のテキストを表示するだけで、(r)は表示しません。もちろん、テキストを取り除くことはできますが、ここにいる人は、このようなHTMlコードをTextBlockが理解できるものに変換する方法を知っているようです。私の最初は、正規表現relaceとiValueConverterですか?®をSilverlightテキスト表現に変換するには

これらのいずれかを行った人はいますか?

答えて

2

あなただけHtmlDecodeを使用する必要があります。HTMLで

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

ありがとうございました。ちょっと簡単。 XLINQを使用してデータを取得する場所でこれを実行できました。私はまた、これは簡単なiValueConvert – caryden

1

ではなく、®を使用する必要があります。私はSilverlightについてはわかりませんが、WPFはこれらのリテラルを自動的に変換します。

私は、テキストプロパティがデータバインドされている場合、これが必ずしも機能しないと認めます。その場合、IValueConverterは問題ありません。それ以外の場合は、値がバインドされる前に、オブジェクト内のこれらのリテラルを検索/置換することもできます。これはViewModelで実行できます(MVVMに従っている場合)。

0

、&#62のようなエンティティ。 ASCIIの10進値を参照するので、10進値で式を置き換えるだけで簡単です。

私は$#174と仮定しました。タイプミスであり、あなたは&#174を意味します。

+0

私はそれを意味したと思う。ごめんなさい。私は上記を修正しました。 – caryden

関連する問題