お久しぶりです。めっきり更新が止まってしまいましたが、辛うじて生きています。
さて、今回はWPFネタで、RichTextBoxコントロールのWordWrapping (TextWrapping) を無効化してテキストに応じて横に伸びてもらいます。
RichTextBoxコントロールは標準でWordWrappingが有効になっていますが、TextBoxコントロールのように任意に有効/無効の切り替えはできません。
そこで、変更通知を受けた際にテキストから描写される横幅を計算し、それを割り当ててあげることでWordWrappingを無効化してみようと思います。
サンプル画像が呪いの文字みたいなのはランダム生成しただけなので深い意味は無いです。
なお、WPFのRichTextBoxは書き換えにプラスしてテキストに応じた計算が必要なので重さに拍車がかかります。
なのでReadOnlyでの運用をオススメします。
また、今回はテキストのみを想定しているので、画像などが含まれる場合は画像サイズ分を加算してあげるなど調整が必要です。
一応サンプルには画像を入れて適用されないことを示しておきます。