PopupPanel
Всплывающее окно с тематическим фоном и областью содержимого.
Наследует Popup и рисует фон из theme-слота panel. Для оформления назначайте StyleBox через Theme или AddThemeStyleboxOverride("panel", style). Внутренний Panel принадлежит окну; не ищите его по индексу детей и не освобождайте отдельно.
Добавьте один корневой Container и разместите элементы в нём. Все непосредственные нетоповые Control получают одну область содержимого, поэтому несколько отдельных соседних элементов могут перекрываться. Минимум берётся покомпонентно по детям с добавлением полей стиля, а не суммой их размеров; вертикальную/горизонтальную раскладку выполняет ваш Container.
StyleBoxFlat со скруглениями/тенью требует корректной прозрачности окна. PopupPanel запрашивает Transparent, но это не доказывает поддержку платформой. Для отдельного системного окна учитывайте display/window/per_pixel_transparency/allowed и поддержку display server; встроенное окно имеет другой путь. При отсутствии прозрачности тень/скругления могут выглядеть иначе.
Тень может расширять окно за основную панель; локальные координаты содержимого и внешний прямоугольник окна не обязательно совпадают. Клик по области вне основной панели, включая место тени, может закрыть popup. PopupHide остаётся уведомлением скрытия, без результата подтверждения. Содержимое принадлежит PopupPanel и освобождается вместе с ним.
Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.
Конструкторы1
PopupPanelКонструктор
public PopupPanel();Создаёт скрытый Popup с внутренним фоном panel и запрошенным Transparent. Поддержку прозрачности/теней платформой это не гарантирует.
Свойства темы
Это ключи ресурсов Theme, а не свойства C# класса. Используйте методы GetTheme…() и AddTheme…Override() у Control с соответствующим типом значения.