私は現在、Windows Phone 用の Twitter アプリに取り組んでいます。このアプリでは、カスタムを介して、それぞれDependencyPropertyのXamlプロパティがツイートのテキスト (プログラムで生成された要素とすべてのテキストRichTextBoxを含む) にバインドされています。これは、Run中括弧がテキストに含まれるまでは十分に機能します。それらを置き換えてエスケープしようとしましたが、役に立ちませんでした。{}{{}
奇妙なことに、中かっこがテキストの途中 (より具体的にはText、要素のプロパティRun) に表示される場合、すべて問題ありません。それは、開始中かっこが先頭にある場合*または終了中かっこがある場合のみです。RichTextBoxクラッシュする終わり* 。​それぞれの先頭と末尾にゼロ幅のスペースを挿入することで、これを回避できましたRun。
ただし、開始中括弧*と終了中括弧*の両方がある場合、この問題はさらに複雑になります。その場合、ゼロ幅のスペースはもう機能しないようです。したがって、唯一の回避策は、テキストの先頭または末尾に追加の「実際の」文字を挿入することですが、これは明らかにできません。
2 年以上前にこの回答RichTextBoxで認められたように、これは のバグのようです。どうやら、まだ修正されていないようです。それで、私が試すことができるさらなる回避策を誰かが知っていますか?
* 前に空白のみ、または後に空白のみを続けることもできます