1

私は現在、Windows Phone 用の Twitter アプリに取り組んでいます。このアプリでは、カスタムを介して、それぞれDependencyPropertyXamlプロパティがツイートのテキスト (プログラムで生成された要素とすべてのテキストRichTextBoxを含む) にバインドされています。これは、Run中括弧がテキストに含まれるまでは十分に機能します。それらを置き換えてエスケープしようとしましたが、役に立ちませんでした。{}{{}

奇妙なことに、中かっこがテキストの途中 (より具体的にはText、要素のプロパティRun) に表示される場合、すべて問題ありません。それは、開始中かっこが先頭にある場合*または終了中かっこがある場合のみです。RichTextBoxクラッシュする終わり* 。​それぞれの先頭と末尾にゼロ幅のスペースを挿入することで、これを回避できましたRun

ただし、開始中括弧*終了中括弧*の両方がある場合、この問題はさらに複雑になります。その場合、ゼロ幅のスペースはもう機能しないようです。したがって、唯一の回避策は、テキストの先頭または末尾に追加の「実際の」文字を挿入することですが、これは明らかにできません。

2 年以上前にこの回答RichTextBoxで認められたように、これは のバグのようです。どうやら、まだ修正されていないようです。それで、私が試すことができるさらなる回避策を誰かが知っていますか?

* 前に空白のみ、または後に空白のみを続けることもできます

4

1 に答える 1

3

さらにいじくり回した後、簡単な修正を見つけました。各. _ _ ‌_ ‌_Run

どうやら、この文字は以前に使用したゼロ幅のスペースとは異なる方法で扱われ、テキストの最初と最後に中かっこがある場合でも機能します。もちろん、同じ効果を持つさらに多くの目に見えない文字があります (ウィキペディアのこのリストを確認してください)。

于 2012-08-24T13:12:55.443 に答える