Подтвердить что ты не робот

Как я могу получить окно WPF для расширения, чтобы он соответствовал содержимому динамически меняющегося элемента ItemsControl?

У меня есть приложение WPF, которое начинается с очень маленького окна. Что-то в области 200x100. Когда определенные события возникают из внешнего источника, я добавляю элемент управления в область ItemsControl моего окна. Элемент управления элементами в настоящее время настроен на использование панели StackPanel PanelTemplate.

Я хочу, чтобы окно приложения увеличивалось, когда элементы управления добавлены в элемент управления itemscontrol. Это вообще возможно? Идея этого заключается в том, чтобы держать окно как можно меньше в любое время. Он также должен сокращаться, когда элементы управления удаляются из элемента управления.

Спасибо.

4b9b3361

Ответ 1

Да, это возможно. Для этого вы можете использовать свойство Window.SizeToContent. И просто установите MaxHeight и MaxWidth на Window или ItemsControl внутри, чтобы он не увеличивался и не выходил за пределы экрана.

Ответ 2

И если вы хотите установить его в XAML для WPF, вы можете использовать

<Window
    SizeToContent="WidthAndHeight"
>

Он может быть установлен отдельно для Height и Width, если требуется.