Граница фокуса за пределами ElementHost не отображается - PullRequest
0 голосов
/ 26 апреля 2011

Я использую ElementHost для размещения пользовательского элемента управления WPF в приложении WinForms. Элемент управления имеет толстую рамку, которая должна быть видна, когда элемент управления имеет фокус. Граница находится «вне» элемента управления, то есть имеет отрицательную границу.

Проблема в том, что рамка фокусировки никогда не появляется. Если я добавлю границу с отступом, содержащим мой элемент управления, в ElementHost, она станет видимой. Тем не менее, я хотел бы иметь элемент управления внутри ElementHost, как он есть, чтобы он не нарушал макет, который был сделан до использования заглушки. Есть идеи?

Спасибо.

1 Ответ

2 голосов
/ 26 апреля 2011

ElementHost имеет свой собственный дескриптор окна, в котором размещены все элементы WPF.Это отдельный элемент управления WinForms.

Вообще говоря, дескриптор окна не может рисовать за пределами своего ограничивающего прямоугольника (который в данном случае будет ограничивающим прямоугольником ElementHost относительно его родительского элемента управления WinForms).

Так что нет, вы не можете использовать отрицательное поле для вашего элемента WPF для рисования вне ElementHost.Вместо этого вам нужно либо нарисовать границу в WinForms, либо изменить макет так, чтобы ElementHost был больше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...