Рисование Adorner пользовательского элемента управления без обрезки, но над элементами управления ниже
У меня есть поля в документе, которые отображаются как пользовательские элементы управления в окне WPF (внутри вкладок).
Мне нужно было сделать функцию автопоиска, которая отображает результаты под полем.
Я пошел с украшателем, содержащим элементы управления внутри (список).
Первая проблема заключается в том, что я не смог получить доступ к слою adorner для элемента управления внутри UserControl.
Я пошел с поиском AdornerLayer окна. К сожалению, если бы я поместил в него ободок, я бы его нигде не увидел.
Следующей попыткой было поместить AdornerDecorator в UserControl.
Это работало нормально, если я рисовал надписью над элементом управления:
Однако, если бы я поместил автора под текстовым полем, элементы управления ниже были бы нарисованы над ним:
Есть ли способ заставить этот второй случай "ниже" работать должным образом?
1 ответ
Вы уже пробовали использовать Popup? Всплывающее окно также является тем, что ComboBox использует afaik, так что я думаю, что это именно то, что вы ищете.
Я полагаю, что вы не сможете заставить декоратор работать до тех пор, пока вы добавите нижеприведенные элементы после текстового поля, поэтому у них всегда будет более высокий zindex. Может быть, установка свойства Panel.ZIndex работает, но я думаю, что это довольно грязное решение.