Как получить единственный дочерний элемент DockPanel для закрепления сверху
Ниже я говорю " DockPanel.Top " в меню, но оно закрепляется посередине. (?)
Если я уберу атрибут "Высота" из меню, он будет закреплен сверху, но будет высотой около 200 пикселей. (?)
Я думал, что это было то, для чего был LastChildFill.
Как я могу получить этот дочерний элемент DockPanel для закрепления сверху без других элементов в панели док-станции?
<Window x:Class="TestContainer1.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="480" Width="600" Loaded="Window_Loaded">
<DockPanel HorizontalAlignment="Stretch"
Margin="0,0,0,0"
Width="Auto"
LastChildFill="True">
<Menu x:Name="panelMenuTop"
Width="Auto"
Height="25"
DockPanel.Dock="Top">
<MenuItem Header="File">
<MenuItem Header="Close"
Click="CloseApplication_Click"/>
</MenuItem>
</Menu>
</DockPanel>
</Window>
2 ответа
Решение
Ваше меню заполняет всю область, поэтому оно выглядит по центру. Вы можете просто дать Меню VerticalAlignment="Top" или дать DockPanel еще несколько детей, как сказал Хенк.
Измените LastChildFill="True" на LastChildFill="False"
Но лучший ответ: дайте DockPanel еще больше детей. Как, может быть, другой DockPanel.