DockPanel


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:


<Window x:Class="DockPanelWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="DockPanel" Height="300" Width="300">

<DockPanel> <Button DockPanel.Dock="Top">Alto</Button> <Button DockPanel.Dock="Left">Sinistra</Button> <Button DockPanel.Dock="Right">Destra</Button> <Button DockPanel.Dock="Bottom">Basso</Button> <Button>No Dock</Button> </DockPanel>

</Window>

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.


Copyright (c) 2010 ilcorsaronero. All rights reserved.