Почему DockPanel.Dock = & # 8220; Bottom & # 8221; положить элемент сверху?

StackOverflow https://stackoverflow.com/questions/1005670

  •  05-07-2019
  •  | 
  •  

Вопрос

Следующий код помещает два текстовых элемента в верхнюю часть, даже если второй элемент помечен " 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.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top