Проблема наложения WPF Adorner - PullRequest
2 голосов
/ 16 мая 2011

Я пытаюсь добиться функциональности, аналогичной функции всплывающего окна, не используя всплывающее окно, а вместо этого украшая мой ContentControl базовым элементом. По сути, я хочу, чтобы ContentControl имел эффект «наложения», при этом он является самым верхним объектом, над всеми остальными элементами - аналогично элементу управления Popup.

Вот проблема, с которой я сталкиваюсь, и я надеюсь, что кто-то может указать, где я иду не так:

У меня есть сетка с двумя определениями строк. Первая строка содержит элемент пользовательского интерфейса - например, прямоугольник. Второй ряд содержит пользовательский элемент управления, который я разработал для эмуляции выдвижного ящика. По сути, когда я нажимаю кнопку, я собираюсь анимировать TranslateTransform, чтобы «сдвинуть» мой ContentControl «вверх». Это работает нормально - за исключением того, что оно обрезается под прямоугольником в первом ряду сетки. Если я удаляю определения строк в сетке, то когда достигается желаемое поведение - ContentControl перемещается «вверх» и частично «сверху» прямоугольника. Прямоугольник - просто место для того, чего я пытаюсь достичь. Я в основном хочу иметь элемент управления типа выдвижного ящика, который может выдвигаться и находиться поверх всех других элементов управления.

Я немного новичок в использовании класса Adorner, поэтому я надеюсь, что кто-то может указать, где я иду не так.

Спасибо.

Chris

1 Ответ

0 голосов
/ 16 мая 2011

Измените родителя рекламодателя на полную сетку, а не только на свой контроль. Если вы помещаете элемент управления в строку сетки и устанавливаете для украшателя элемент управления, он обычно обрезается до этой строки, поскольку элемент управления имеет значение.

...