2012-01-25 27 views
13

Diciamo che mostriamo qualche finestra WPF e arriva il momento in cui dobbiamo mostrare qualche pannello in più nella parte inferiore.Come modificare la dimensione della finestra WPF in modo dinamico?

Quello che voglio fare è aumentare la dimensione della finestra di WPF e centrarla di nuovo.

Eventuali indizi o campioni?

+0

Cosa succede quando la finestra è ingrandita? – Kugel

+0

Infatti non è massimizzato. Deve essere modificato in base all'altezza solo perché il nuovo pannello appare in basso. –

risposta

39

È possibile modificare a livello di codice la dimensione e la posizione della finestra, basta impostare i valori di Larghezza e Altezza appropriati per le dimensioni e Superiore e Sinistra per la posizione. Ma è ancora più facile.

seguito this page si ottiene

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

di adattarsi automaticamente le dimensioni della finestra per il contenuto, e con la help of this link è possibile centrare nuovamente la finestra dopo la dimensione è stata cambiata.

+0

Grazie fratello! Le impostazioni finali di cui ho bisogno sono: Larghezza = "721" Altezza = "Auto" SizeToContent = "Altezza" –

4

se si vuole ridimensionare ad una dimensione specifica è possibile effettuare le seguenti operazioni:

Se si desidera ridimensionare la finestra principale basta scrivere il codice seguente.

Application.Current.MainWindow.Height = 420; 

Se si desidera ridimensionare una nuova finestra diversa dalla finestra principale basta scrivere il seguente codice nel file .cs della nuova finestra.

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

Spero che sia d'aiuto.

Problemi correlati