Il DockPanel dispone i controlli in esso contenuti ridimensionandoli ed agganciandoli ad uno dei bordi. Il bordo a cui agganciare un determinato controllo è impostato tramite l’attached property Dock. L’ordine con cui vengono definiti i controlli contenuti è importante per il layout definitivo. Il DockPanel ridimensiona il controllo in base allo spazio a disposizione, così se mettiamo prima il controllo agganciato in alto e, poi, quello a sinistra, avremo che il controllo in alto avrà una dimensione maggiore dell’altro.
Un esempio di utilizzo del DockPanel è il seguente XAML:
il quale genera il seguente layout:
Per capire il meccanismo di docking dei controlli, scambiamo il primo bottone del precedente XAMl con il secondo e vediamo che il layout cambia radicalmente:
Il DockPanel ha un duplice comportamento per quanto riguarda i controlli senza la proprietà Dock impostata: impostando la proprietà LastChildFill a True i controlli senza Dock occupano tutto lo spazio rimanente del contenitore, mentre impostando LastChildFill a False i controlli senza Dock mantengono il consueto comportamento.