Как изменить размер окна WPF динамически?

Скажем, мы показываем некоторое окно WPF и наступает момент, когда нам нужно показать дополнительную панель внизу.

Что я хочу сделать, так это увеличить размер окна WPF и снова центрировать его.

Любая подсказка или образцы?

Ответ 1

Вы можете программно изменить размер и расположение окна, просто установите соответствующие значения Width и Height для размера и Top и Left для местоположения. Но это еще проще.

Следуя этой странице, вы получаете

<Window x:Class="SizingTest.Window1" 
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
        Title="Window1" 
        Width="Auto" Height="Auto" SizeToContent="WidthAndHeight"> 

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

Ответ 2

если вы хотите изменить размер в определенном размере, вы можете сделать следующее:

Если вы хотите изменить размер главного окна, просто напишите следующий код.

Application.Current.MainWindow.Height = 420;

Если вы хотите изменить размер нового окна, отличного от главного окна, просто напишите следующий код в файле .cs нового окна.

Application.Current.MainWindow = this; 
Application.Current.MainWindow.Width = 420;

Надеюсь, что это поможет.