2009-06-17 7 views
14

El siguiente código coloca los dos elementos de texto en la parte superior, aunque el segundo está marcado como "Abajo". El color de fondo llega hasta el fondo, por lo que DockPanel parece estirarse hasta el fondo.¿Por qué DockPanel.Dock = "Bottom" pone el elemento en la parte superior?

¿Qué es lo que no entiendo acerca de 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> 

Respuesta

31

Por default último elemento de una DockPanel llenará el área de contenido restante disponible.

Si configura LastChildFill="False" en el DockPanel, verá el comportamiento que está esperando. También puede establecer VerticalAlignment="Bottom" en TextBlock.

+0

Es muy probable que el caso aquí. ver: http://msdn.microsoft.com/en-us/library/system.windows.controls.dockpanel.lastchildfill.aspx –

+0

gracias, eso funciona, recuerdo haber visto ese atributo, ahora sé para qué sirve –

Cuestiones relacionadas