Почему DockPanel.Dock = "Bottom" помещает элемент вверху? - PullRequest
14 голосов
/ 17 июня 2009

Следующий код помещает два текстовых элемента сверху, хотя второй помечен как «Низ». Цвет фона доходит до дна, поэтому панель DockPanel кажется растянутой до дна.

Что я не понимаю в 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>

1 Ответ

31 голосов
/ 17 июня 2009

По по умолчанию последний элемент DockPanel заполнит оставшуюся доступную область содержимого.

Если вы установите LastChildFill="False" на панели DockPanel, вы увидите ожидаемое поведение. Вы также можете установить VerticalAlignment="Bottom" в TextBlock.

...