Как я могу создать пользовательский элемент управления с панелью, которая скользит по его родительскому элементу управления? - PullRequest
0 голосов
/ 18 января 2019

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

Я могу сделать это, если все XAML находятся в одном и том же элементе управления, но я не могу понять, как это сделать, если мне нужно маленькое представление и скользящие биты в отдельном многократно используемом UserControl.

Для небольшой панели я использую анимацию, которая изменяет поля внеэкранной панели и ограничивает обрезку, чтобы это произошло. Я копировал XAML из окна в окно. Я хочу сделать многоразовую версию намного большего размера, но ее правильное отображение немного потеряло меня из-за ограничения границ. UserControl обрезает панель в пределах ее уменьшенного вида, вместо того, чтобы панель отображалась поверх родительского элемента.

Это эффект, который я ищу:

enter image description here

Основная проблема, по-видимому, заключается в том, что скользящая панель должна содержаться в пользовательском элементе управления, иначе она будет обрезана. Таким образом, пользовательский элемент управления должен быть намного больше, чем свернутый вид. Из-за этого, когда вы хотите встроить его в другое окно (или UserControl), вам нужно выполнить гимнастику XAML, чтобы приспособиться к размеру элемента управления, в то время как создается впечатление, что элемент управления на самом деле не такой большой.

Может быть, это просто типично для XAML. Я до сих пор учусь. Но я не могу понять, как визуально отобразить элемент управления за его пределами. Всплывающее окно действительно не работает из-за того, как оно открывается и закрывается с фокусом.

На данный момент это всего лишь упражнение, поскольку я решил реализовать его по-другому (модальное диалоговое окно), чтобы у меня был элемент управления, необходимый для визуальных элементов.

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