文本框未对齐到顶部

时间:2015-01-15 08:19:51

标签: c# wpf textbox

为了获得该方案,我已经上传了一张图片

http://i.imgur.com/MpriCub.png

红色文本框是dockpanel的项目(下面的代码)。此外,Dockpanel是另一个dockpanel的一部分。

<DockPanel
    Height="100">
    <TextBox 
        DockPanel.Dock="Top" 
        HorizontalAlignment="Stretch" 
        Background="Red"
        Margin="5"/>

</DockPanel>

我的目标是将文本框对齐到顶部。有人有个主意吗?如您所见,我已将DockPanel.Dock设置为&#34; Top&#34;。

提前致谢!

祝你好运

2 个答案:

答案 0 :(得分:1)

将VerticalAlignment添加到TextBox中,如下所示:

<DockPanel Height="200">
            <TextBox 
                Height="50"
                DockPanel.Dock="Top" 
                HorizontalAlignment="Stretch" 
                VerticalAlignment="Top"
                Background="Red"
                Margin="5"/>
        </DockPanel>

为我工作。

答案 1 :(得分:0)

DockPanel有一个名为LastChildFill的属性,默认为true,将此设置为false可以解决您的问题

来自MSDN

  

如果将LastChildFill属性设置为true,则默认值为true   设置,DockPanel的最后一个子元素总是填充   剩余空间,与您设置的任何其他码头值无关   最后一个子元素。要将子元素停靠在另一个方向,   您必须将LastChildFill属性设置为false,并且还必须指定   最后一个子元素的显式停靠方向。

由于您的文本框是DockPanel的唯一子项,因此它也是最后一个孩子