2012-01-25 2 views
13

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

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

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

+0

Что происходит, когда окно максимизируется? – Kugel

+0

Это не максимизировано на самом деле. Его нужно изменить по высоте только потому, что в нижней части появляется новая панель. –

ответ

39

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

После this page вы получите

<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"> 

автоматически подстроить размер окна к содержанию, так и с help of this link вы можете отцентрировать окно снова после того, как размер был изменен.

+0

Спасибо, брат! Окончательные настройки, которые мне нужны, это: Width = "721" Height = "Auto" SizeToContent = "Height" –

4

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

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

Application.Current.MainWindow.Height = 420; 

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

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

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