星型调整在WPF网格中不起作用

时间:2018-06-26 19:45:50

标签: c# wpf xaml

这是我的XAML:

enter image description here

这是结果:

enter image description here

这不是我期望的。我希望网格第0行占据垂直空间的25%,网格第1行占据60%的空间,网格第2行占据剩余的15%的空间。我以为我的RowDefinition元素总共做到了100%。我在做什么错了?

3 个答案:

答案 0 :(得分:3)

具有垂直方向的StackPanel可以为子元素提供无限的垂直空间来定位自己。当为Grid提供无限的高度或宽度时,它会选择将*视为Auto(如果我正确理解Grid.MeasureOverride implementation)并且不会拉伸。

以某种方式限制网格高度:设置固定高度,将Height绑定到某个值(例如,其他元素ActualHeight),使用大小有限的其他父容器

答案 1 :(得分:2)

删除/删除外部堆栈面板,这将完成您想要的。

此外,如果您希望将边距放到网格上。

答案 2 :(得分:0)

删除外部StackPanel会有所帮助。


WPF的

Grid有几种意外行为。就您而言,这是double.PositiveInfinity小节长度的意外行为。

我在此处发布了意外的行为:The undefined behaviors of WPF Grid (the so-called bugs)。我在Avalonia中写了一篇新文章。