Рисование Adorner для UserControl без обрезки, но поверх элементов управления ниже

У меня есть поля в документе, которые отображаются как UserControls в окне WPF (внутри вкладок).

Мне нужно было сделать функцию автопоиска, которая отображает результаты под полем.

Я выбрал украшение, содержащее элементы управления внутри (список).

Первая проблема заключается в том, что я не мог получить доступ к слою украшения для элемента управления внутри UserControl.

Я пошел с поиском AdornerLayer окна. К сожалению, если бы я поместил внутрь него украшение, я бы его нигде не увидел.

Следующая попытка заключалась в том, чтобы поместить AdornerDecorator в UserControl.

Это нормально работало, если я рисовал украшение над элементом управления:

Выше

Однако, если бы я поместил украшение под текстовое поле, элементы управления, расположенные ниже, были бы нарисованы над ним:

введите описание изображения здесь

Есть ли способ заставить этот второй случай "ниже" работать должным образом?


person Marino Šimić    schedule 11.04.2016    source источник
comment
Вы пытались использовать ZIndex?   -  person icebat    schedule 11.04.2016


Ответы (1)


Вы уже пробовали использовать всплывающее окно? Всплывающее окно - это также то, что ComboBox использует afaik, поэтому я думаю, что это в значительной степени то, что вы ищете.

Я предполагаю, что вы не заставите декоратор работать, пока вы добавите следующие элементы после текстового поля, поэтому у них всегда будет более высокий zindex. Возможно, установка свойства Panel.ZIndex работает, но я думаю, что это довольно грязное решение.

person Spongebrot    schedule 11.04.2016