Condividi tramite


Procedura: costruire un layout dinamico

WPF Designer per Visual Studio fornisce numerosi controlli Panel che supportano il posizionamento dinamico. È possibile combinare i controlli Panel aggiungendo un controllo Panel come figlio di un altro. È possibile utilizzare i seguenti controlli Panel per posizionare dinamicamente gli elementi nelle applicazioni:

Grid definisce un'area in cui è possibile posizionare gli elementi figlio in righe e colonne. StackPanel e WrapPanel posizionano elementi figli in righe o colonne in modo automatico. DockPanel posiziona elementi figlio lungo i bordi in modo automatico. Per ulteriori informazioni sui diversi pannelli, vedere Layout con posizionamento assoluto e dinamico.

Nota importanteImportante

Quando possibile, è preferibile utilizzare un layout dinamico. I layout dinamici sono i più flessibili, adatti a modifiche di contenuto, ad esempio la localizzazione, e consentono all'utente finale maggiore controllo sull'ambiente. Per un esempio di layout assoluto, vedere Procedura: costruire un layout in base al posizionamento assoluto.

Impostare le proprietà della finestra per il comportamento dinamico

Quando si crea una nuova finestra è possibile impostare proprietà per ottimizzare la flessibilità di un layout dinamico.

Per impostare le proprietà della finestra per il comportamento dinamico

  1. Nella visualizzazione Progettazione selezionare la finestra.

  2. Nella finestra Proprietà impostare le seguenti proprietà per Window:

    Proprietà

    Valore

    Effetto

    ResizeMode

    CanResize

    Consente all'utente di ridimensionare la finestra per lasciare più spazio ai controlli.

    SizeToContent

    WidthAndHeight

    Consente il ridimensionamento automatico della finestra quando il contenuto si espande.

Impostare le proprietà di un pannello per il comportamento dinamico

Quando si aggiunge un pannello nuovo (ad esempio Grid, DockPanel o StackPanel) a una finestra, o a un altro pannello, è possibile impostare proprietà per ottimizzare la flessibilità di un layout dinamico.

Per impostare le proprietà di un pannello per il comportamento dinamico

  1. Nella visualizzazione Progettazione selezionare il pannello.

  2. Nella finestra Proprietà impostare le seguenti proprietà per Panel:

    Proprietà

    Valore

    Effetto

    Width

    Auto

    Il pannello si estende fino a riempire la larghezza della finestra o del pannello padre.

    Height

    Auto

    Il pannello si estende fino a occupare l'altezza della finestra o del pannello padre.

Impostare le proprietà di una griglia per il comportamento dinamico

È possibile utilizzare il ridimensionamento automatico e proporzionale per creare griglie che si ridimensionano dinamicamente in base al contenuto. Il ridimensionamento automatico viene utilizzato per consentire ai controlli di adattarsi al contenuto, anche se il contenuto cambia dimensioni. Il ridimensionamento proporzionale viene utilizzato per distribuire lo spazio disponibile in base a proporzioni ponderate. Per ulteriori informazioni, vedere Star.

Quando si utilizza visualizzazione Progettazione per creare nuove righe e colonne, viene utilizzato il ridimensionamento Star per impostazione predefinita. Per ulteriori informazioni, vedere Procedura: aggiungere righe e colonne a una griglia.

SuggerimentoSuggerimento

Potrebbe essere più facile aggiungere righe e colonne nell'Editor dell'insieme e quindi impostare l'altezza delle righe e la larghezza delle colonne nell'editor XAML.

Per impostare le proprietà di una griglia per il comportamento dinamico

  1. Nella visualizzazione Progettazione selezionare la griglia.

  2. Nella finestra Proprietà, individuare la proprietà ColumnDefinitions e fare clic sul pulsante con i puntini di sospensione nella colonna del valore della proprietà.

    Verrà visualizzato l'Editor dell'insieme.

    1. Selezionare o aggiungere una nuova definizione di colonna.

    2. Utilizzare il ridimensionamento automatico e proporzionale per impostare la larghezza delle colonne per la massima flessibilità.

    3. Scegliere OK per chiudere l'Editor dell'insieme e tornare a WPF Designer.

    Nota

    Le colonne le cui proprietà Width sono impostate su Auto vengono temporaneamente nascoste perché sono prive di contenuto. Per evitare tale comportamento è possibile utilizzare il ridimensionamento proporzionale durante la programmazione e impostare il valore su Auto al termine.

  3. Nella finestra Proprietà, individuare la proprietà RowDefinitions e fare clic sul pulsante con i puntini di sospensione nella colonna del valore della proprietà.

    Verrà visualizzato l'Editor dell'insieme.

    1. Selezionare o aggiungere una nuova definizione di riga.

    2. Utilizzare il ridimensionamento automatico e proporzionale per impostare la larghezza delle righe per la massima flessibilità.

    3. Scegliere OK per chiudere l'Editor dell'insieme e tornare a WPF Designer.

    Nota

    Le righe le cui proprietà Height sono impostate su Auto vengono temporaneamente nascoste perché sono prive di contenuto. Per evitare tale comportamento è possibile utilizzare il ridimensionamento proporzionale durante la programmazione e impostare il valore su Auto al termine.

Impostare le proprietà del controllo per il comportamento dinamico

Quando si aggiunge un nuovo controllo a una finestra o a un altro pannello, è possibile impostare proprietà per ottimizzare la flessibilità di un layout dinamico. È consigliabile evitare di impostare dimensioni specifiche per i controlli affinché si ridimensionino dinamicamente quando la finestra o il contenuto viene modificato.

Per impostare le proprietà del controllo per il comportamento dinamico

  1. In visualizzazione Progettazione selezionare un controllo.

  2. Nella finestra Proprietà impostare le seguenti proprietà per il controllo:

    Proprietà

    Valore

    Effetto

    Width

    Auto

    Il controllo si espande orizzontalmente per adattarsi al contenuto.

    Height

    Auto

    Il controllo si espande verticalmente per adattarsi al contenuto.

    MinWidth

    0

    Il controllo può essere ridotto orizzontalmente quanto necessario.

    MinHeight

    0

    Il controllo può essere ridotto verticalmente quanto necessario.

    MaxWidth

    Infinity

    Il controllo può essere espanso orizzontalmente quanto necessario.

    MaxHeight

    Infinity

    Il controllo può essere espanso verticalmente quanto necessario.

    Nota

    I valori visualizzati sono predefiniti.

Vedere anche

Attività

Procedura dettagliata: costruzione di un layout dinamico

Concetti

Allineamento in Progettazione WPF

Sistema di layout

Cenni preliminari su WPF e Silverlight Designer

Altre risorse

Procedure dettagliate relative ai layout