Как получить единственный дочерний элемент 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>
Решение
Ваше меню заполняет всю область, поэтому оно выглядит по центру. Вы можете просто дать Меню VerticalAlignment = & Quot; Top & Quot; или дайте DockPanel еще несколько детей, как сказал Хенк.
Другие советы
Изменить LastChildFill = " True " to LastChildFill = " False "
Но лучший ответ: дайте DockPanel еще больше детей. Как, может быть, другой DockPanel.
Не связан с StackOverflow