2012-01-25 14 views
13

Załóżmy, że pokazujemy niektóre okno WPF i przychodzi moment, kiedy musimy pokazać dodatkowy panel na dole.Jak dynamicznie zmieniać rozmiar okna WPF?

Co chcę zrobić, to zwiększyć rozmiar okna WPF i wyśrodkować go ponownie.

Jakaś wskazówka lub próbki?

+0

Co się dzieje, gdy okno jest zmaksymalizowane? – Kugel

+0

To nie jest zmaksymalizowane w rzeczywistości. Musi być zmieniona przez wysokość tylko dlatego, że na dole pojawia się nowy panel. –

Odpowiedz

39

Możesz programowo zmienić rozmiar i położenie okna, po prostu ustaw odpowiednie wartości Szerokość i Wysokość dla rozmiaru oraz Góra i Lewa dla lokalizacji. Ale to jeszcze łatwiejsze.

Po this page masz

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

aby automatycznie dostosować rozmiar okna do treści, a także z help of this link można wyśrodkować okno ponownie po rozmiar został zmieniony.

+0

Dzięki, bro! Ostateczne ustawienia, których potrzebuję, to: Width = "721" Wysokość = "Auto" SizeToContent = "Wysokość" –

4

jeśli chcesz zmienić rozmiar w określonym rozmiarze można wykonać następujące czynności:

Jeśli chcesz zmienić rozmiar okna głównego po prostu napisać następujący kod.

Application.Current.MainWindow.Height = 420; 

Jeśli chcesz zmienić rozmiar nowego okna innego niż głównego okna wystarczy napisać następujący kod w pliku .cs nowego okna.

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

Mam nadzieję, że to pomaga.

Powiązane problemy