したがって、RichTextBox
(以下に示す)はモノスペースのフォントを持ち、各行に同じ文字数を持つ必要があります。これを行うには、ボックスに入力する文字列にx
文字ごとに改行文字を\n
文字挿入する必要があります。TextPointersで選択するときに改行文字をハイライト表示しない
また、矢印キーを押しながらカーソルを移動し、移動する個々の文字を選択するアルゴリズムもあります。カーソルがボックス内の単語をカバーしているときは、単語全体を強調表示する必要があります。
問題:単語が複数の行にまたがる場合、最初の行の最後の文字の後に空白があります。これは\n
文字に起因すると想定しています。
RichTextBox.Selection.Select()
にこれらの空白をハイライト表示させないようにするにはどうすればよいですか?私はパースなどの文字の選択を削除することができますが、私はこの空白を強調表示できないようにする必要があります。
編集:受け入れ可能な代替案は、改行を不必要にすることです。同様に、RichTextBox
を修正して、各行に常に12文字ずつ書いていますが、これは理想的ではありません。なぜなら、ウィンドウのサイズを変更しやすくしたいからです。
UPDATE:XAML内のテキスト列の幅を小さくすると、エッジを越えるハイライトのサイズは小さくなりますが、完全に削除されていないようです。テキストを折り返さずに幅を減らすことはできません。
に似た何か、私はこれらの新しい行(改行)と1つの元本の問題を参照してください:どのようにあなたが特定のキャリッジリターンは、出力長さを制限することがあることを知って、あなたは、次の選択をまたがるする必要がありますそれともテキストの一部にすぎないキャリッジリターンですか?その場合は、ハイライトにまたがることはありませんか? –
キャリッジリターンと改行を元のテキストから外してからテキストボックスに挿入しますか? –
いいえありません。元のテキストは連続した1つの文字列です。私は12文字ごとに '\ r'を追加します。 – Airhead