В настоящее время я разрабатываю приложение для форм Windows (в основном редактор документов) с WPF RichTextBox. Разумеется, поскольку все остальное - это приложение для форм Windows, я размещаю WPF RichTextBox в ElementHost.
Проблема в том, что я хочу, чтобы выделение в RichTextBox было видимым, даже если оно не имеет фокуса. Например, у меня есть несколько кнопок форматирования текста (полужирный, курсив, ...) на панели инструментов, и когда я нажимаю одну из них, я больше не вижу выделение, потому что RichTextBox теряет фокус.
К сожалению, RichTextBox не имеет свойства HideSelection, как некоторые элементы управления WinForms.
Я уже пытался отменить событие LostFocus, как описано в других постах. Однако, похоже, это не работает, когда RichTextBox размещен внутри ElementHost (я пытался, и это работало в проекте только для WPF).
Я также немного поэкспериментировал с установкой / сбросом цветов фона выделения при потере / усилении фокуса, но это кажется очень хакерским, и для обеспечения его надежной работы требуется много усилий.
У кого-нибудь есть идеи, как этого можно достичь?
Спасибо!