当前位置:  开发笔记 > 编程语言 > 正文

WPF - 在StackPanel中将Horizo​​ntalAlignment = Stretch设置为Textbox

如何解决《WPF-在StackPanel中将Horizo​​ntalAlignment=Stretch设置为Textbox》经验,为你挑选了2个好方法。

为什么没有文本框伸展来填充堆叠面板中的空间?这是设计的吗?在网格中,文本框按预期延伸.



1> Kent Boogaar..:

是的,这是设计的.在StackPanel将分配的空间TextBox请求.如果您没有设置宽度TextBox,则只需要足够的宽度来适合其文本.



2> Gishu..:

肯特的回答似乎是正确的.
为了仍然强制覆盖StackPanel行为,我认为你需要动态计算设置包含元素的Width属性或者一些时髦的MeasureOverride覆盖.我宁愿使用另一个布局管理器/面板.我注意到的一些事情..

子元素的Horizo​​ntalAlignment和VerticalAlignment属性的默认值是Stretch(如果未明确指定).

StackPanel将根据其Orientation属性值拉伸元素.所以

Orientation = Horizo​​ntal表示所有元素将垂直拉伸到最大值.元素水平流动.

方向=垂直意味着所有元素都将水平拉伸到最大值.元素垂直流动.

除非明确指定,否则子元素的宽度和高度为NaN.如果指定显式值,StackPanel将通过Horiz和Vert Alignment设置来表示它们.

StackPanel本身具有Horizo​​ntalAlignment和VerticalAlignment,可以进一步添加布局扭曲.您可以试验这个例子.

StackPanel中

对于StackPanel中包含的内容的Horizo​​ntalAlignment和VerticalAlignment,默认值为stretch.

水平对齐

当在元素上显式设置高度和宽度属性时,这些测量在布局期间采用更高的先例,并将取消将Horizo​​ntalAlignment设置为Stretch的典型效果.

推荐阅读
kikokikolove
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有