2009-06-17 12 views
14

Il seguente codice inserisce i due elementi di testo nella parte superiore anche se il secondo è contrassegnato come "In basso". Il colore di sfondo va fino in fondo, quindi DockPanel sembra allungarsi verso il basso.Perché DockPanel.Dock = "Bottom" inserisce l'elemento in alto?

Che cosa non sto capendo di DockPanel?

<Window x:Class="TestIndexer934.Views.MainView" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:c="clr-namespace:TestIndexer934.Commands" 
    Title="Main Window" Height="400" Width="800"> 
    <DockPanel HorizontalAlignment="Left" Background="Beige"> 
     <TextBlock DockPanel.Dock="Top" Text="Testing top"/> 
     <TextBlock DockPanel.Dock="Bottom" Text="Testing bottom"/> 
    </DockPanel> 
</Window> 

risposta

31

Con default ultimo elemento di una DockPanel riempirà l'area del contenuto ancora disponibile.

Se si imposta LastChildFill="False" sul DockPanel, verrà visualizzato il comportamento previsto. È inoltre possibile impostare VerticalAlignment="Bottom" in TextBlock.

+0

Molto probabilmente il caso qui. vedi: http://msdn.microsoft.com/en-us/library/system.windows.controls.dockpanel.lastchildfill.aspx –

+0

grazie, funziona, ricordo di aver visto quell'attributo, ora so a cosa serve –

Problemi correlati