none
WPFのRichTextBoxでキャレット以降のFontFamilyを変更する方法について RRS feed

  • 質問

  • お世話になります。

    WPFのRichTextBoxでキャレット以降のFontFamilyを変更したいのですが、どのようにすればできるでしょうか? RichTextBoxのFontFamilyを変更すると全体のFontFamilyが変更されてしまいます。下記のStackover Flowの記事を参考に変更を行ってみたのですが、日本語入力でIMEがオンになっていると、文字が二重に入力されてしまいます。

    How can I change the FontFamily in a WPF RichTextBox without modifying previous text

    http://stackoverflow.com/questions/1143585/how-can-i-change-the-fontfamily-in-a-wpf-richtextbox-without-modifying-previous

    IMEがオフのときはOnTextInputでBaseを呼ばなければ、文字が入力されなくなるのですが、IMEがオンだと入力されてしまうので、OnTextInput内でRunを作成していると、それと合わせて二つできるからだと思います。

    もし、この動作の実装方法をご存じの方がいらっしゃったら教えてください。

    また、具体的にこの動作でなくても、RichTextBoxにおいてIMEからの入力を奪うことができれば、この動作は実装することができると考えています。IMEからの入力を奪う方法をご存じの方がいらっしゃいましたら、教えていただければと思います。

    よろしくお願いいたします。

    2012年1月14日 16:03