为了获得该方案,我已经上传了一张图片
红色文本框是dockpanel
的项目(下面的代码)。此外,Dockpanel是另一个dockpanel的一部分。
<DockPanel
Height="100">
<TextBox
DockPanel.Dock="Top"
HorizontalAlignment="Stretch"
Background="Red"
Margin="5"/>
</DockPanel>
我的目标是将文本框对齐到顶部。有人有个主意吗?如您所见,我已将DockPanel.Dock设置为&#34; Top&#34;。
提前致谢!
祝你好运
答案 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的唯一子项,因此它也是最后一个孩子