2009-06-17 12 views
14

Le code suivant place les deux éléments de texte en haut même si le second est marqué "Bottom". La couleur de fond va jusqu'au fond, de sorte que le DockPanel semble s'étirer vers le bas.Pourquoi DockPanel.Dock = "Bottom" met l'élément en haut?

Qu'est-ce que je ne comprends pas sur 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> 

Répondre

31

par default dernier élément d'un DockPanel remplira la zone de contenu restant disponible.

Si vous définissez LastChildFill="False" sur le DockPanel, vous verrez le comportement que vous attendez. Vous pouvez également définir VerticalAlignment="Bottom" sur le TextBlock.

+0

Très probablement le cas ici. voir: http://msdn.microsoft.com/en-us/library/system.windows.controls.dockpanel.lastchildfill.aspx –

+0

merci, cela fonctionne, je me souviens de voir cet attribut, maintenant savoir ce que c'est pour –

Questions connexes