Почему DockPanel.Dock = & # 8220; Bottom & # 8221; положить элемент сверху?
Вопрос
Следующий код помещает два текстовых элемента в верхнюю часть, даже если второй элемент помечен " Bottom " ;. Цвет фона доходит до дна, поэтому кажется, что 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>
Решение
По по умолчанию последний элемент DockPanel заполнит оставшуюся доступную область содержимого.
Если вы установите LastChildFill = " False "
на панели DockPanel, вы увидите ожидаемое поведение. Вы также можете установить VerticalAlignment = " Bottom "
в TextBlock.
Не связан с StackOverflow