如何将唯一的DockPanel子元素停靠在顶部

时间:2009-03-17 08:59:08

标签: wpf xaml dockpanel

下面我在菜单上说“ DockPanel.Top ”,但停靠在中间。 (?)

如果我从菜单中取出Height属性,它会停靠在顶部,但大约是200px。 (?)

我认为这就是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 个答案:

答案 0 :(得分:1)

将LastChildFill =“True”更改为LastChildFill =“False”

但更好的答案是:给DockPanel一些孩子。就像另一个DockPanel一样。

答案 1 :(得分:0)

您的菜单正在填满整个区域,使其显示居中。你可以给菜单一个VerticalAlignment =“Top”,或者像Henk所说的那样给DockPanel一些孩子。