2009-03-12 16 views
1

次のようにRichTextBoxを定義すると、WPF RichTextBox - 書式付きテキストでスペルチェックが機能しない

<RichTextBox SpellCheck.IsEnabled="True"> 
    <FlowDocument /> 
</RichTextBox> 

「サンプル」を入力して最初の3文字を太字にすると、スペルチェッカーでその単語に下線が引かれます。

ドキュメントのソースXAMLは、RichTextBoxが単語を2つの別々の実行に分割していることを示しています。

<Paragraph> 
    <Run FontWeight="Bold" xml:lang="en-gb">Sam</Run> 
    <Run xml:lang="en-gb">ple</Run> 
</Paragraph> 

私は手動で以下のブロックで文書をcontruct場合。

<FlowDocument> 
    <Paragraph> 
     <Run FontWeight="Bold">Sam</Run>ple 
    </Paragraph> 
</FlowDocument> 

スペルチェッカーが正常に渡されました。

誰もがこれまでに遭遇したことはありますか?私が使用できる回避策はありますか?

おかげ マット

答えて

1

スペルチェッカーと異なるロケールの問題があるように思われます。

私はこれで起動した場合:

<RichTextBox SpellCheck.IsEnabled="True" xml:lang="en-GB"> 
    <FlowDocument /> 
</RichTextBox> 

私はなく、これと、(「サンプル」と太字「サム」と入力して)あなたのエラーを再現することができます

<RichTextBox SpellCheck.IsEnabled="True"> 
    <FlowDocument /> 
</RichTextBox> 

誰かが持っています同様の問題here

この問題はFrameworkElement(したがってTextBox/RichTextBox)の言語プロパティが "en-US"に既定され、 "en-NZ"ロケールを使用しているために発生します。 TextBox/RichTextBoxにテキストを入力すると、XAMLで設定されたテキストとは異なるロケールになります。スペルチェッカーは言語の境界を越えません。その結果、表示される動作になります。

+0

返信いただき、MSページへのリンクありがとうございます。 .Net 4.0まで待つのが最善の選択肢だと思われます。 – user77159

関連する問題