この解決策をしばらく探していたので、ここに投稿します。
今、私は全体の前景色を変更することができますRichTextBox
:
yourRichTextBox.Foreground = Brushes.Red;
ユーザーがカーソルで選択したテキストの色を変更することもできます。
if(!yourRichTextBox.Selection.IsEmpty){
yourRichTextBox.Selection.ApplyPropertyValue(TextElement.ForegroundProperty, Brushes.Red);
}
しかし、ユーザーが次に入力するテキストの色を変更できるようにしたいと考えています。
ユーザーがテキストに入れたい色を返すカラーピッカーボックスがあります。したがって、ユーザーはRichTextBox
通常の黒のフォントで入力し、カラーピッカーボタンをクリックして色を選択し、[OK]を押してから次の入力したものはその色になります。これを行う方法はありますか、それとも運が悪いのでしょうか?
私が考えることができる唯一の方法は、ユーザーが入力した各文字をキャプチャするバッファーを用意し、入力した各文字の前景プロパティを設定してからRichTextBox
、アイデアに追加し直すことです?