0

単語のスペルが間違っているところに波状の赤い線でテキストを表示しようとしていますが、テキストを編集可能ではなく選択可能にしたいだけです。TextBox の IsReadOnly プロパティを True に設定するか、IsEnabled を False に設定すると、波状の赤い線が消え、透明なものを配置しても回避できません。これにより、ユーザーがテキストのセクションを選択できなくなるためです。

とにかく、赤い線を保持し、テキストを選択可能にしながら、実際のテキストが変更されないようにすることはできますか?

ありがとう

4

2 に答える 2

2

テキスト ボックスのテキスト変更イベントに接続して、新しいテキストを拒否することができます。テキストボックスをグレー表示にしたり、スペルチェックを削除したりすることなく、読み取り専用と同じ効果があります。

于 2009-07-16T08:58:41.450 に答える
0

ありがとうデビッド。現在、あなたと次の2つの可能な解決策を検討しています。

標準の TextBox に基づいたカスタム コントロールを作成しましたが、このマナーでは効果的に 2 つのテキスト ボックスが互いに重ねられています。

<TextBox Name="tbxBack" 
         Foreground="Transparent"
         SpellCheck.IsEnabled="True"
         TextWrapping="Wrap" 
         SnapsToDevicePixels="True"/>
<TextBox Name="tbxFront" 
         Background="Transparent"
         TextWrapping="Wrap" 
         SnapsToDevicePixels="True" 
         IsReadOnly="True"/>

ここで何が起こっているかは非常に単純だと思いますが、これが引き起こす潜在的なオーバーヘッドについて心配しています。

二重の TextBox ソリューションを検討している理由は、イベントをキャンセルしようとすると、テキストが変更されたときにコントロールで何らかの点滅が発生する可能性があるためです。

于 2009-07-16T09:24:42.163 に答える