C# 星形调整在WPF网格中不起作用

C# 星形调整在WPF网格中不起作用,c#,wpf,xaml,C#,Wpf,Xaml,这是我的XAML: 结果是: 这不是我所期望的。我希望网格行0占据垂直空间的25%,网格行1占据60%,网格行2占据剩余的15%。我认为我的RowDefinition元素做到了这一点,总共达到了100%。我做错了什么?垂直方向的StackPanel可以为子元素提供无限的垂直空间来定位它们自己。当网格提供无限高或无限宽时,如果我正确理解并且没有拉伸,它会选择将*视为自动 以某种方式限制网格高度:设置固定高度,将高度绑定到某个值,例如某些其他元素的实际高度,使用具有有限大小的不同父容器垂直方向的St

这是我的XAML:

结果是:


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

垂直方向的StackPanel可以为子元素提供无限的垂直空间来定位它们自己。当网格提供无限高或无限宽时,如果我正确理解并且没有拉伸,它会选择将*视为自动


以某种方式限制网格高度:设置固定高度,将高度绑定到某个值,例如某些其他元素的实际高度,使用具有有限大小的不同父容器

垂直方向的StackPanel可以为子元素提供无限的垂直空间来定位它们自己。当网格提供无限高或无限宽时,如果我正确理解并且没有拉伸,它会选择将*视为自动


以某种方式限制网格高度:设置固定高度,将高度绑定到某个值,例如某些其他元素的实际高度,使用具有有限大小的不同父容器移除/删除外部堆栈面板,这将满足您的需要


如果您需要边距,也可以将其放在网格上。

移除/删除外部堆栈面板,这将满足您的需要

另外,如果您需要边距,请将其放在网格上。

卸下外部堆叠面板将有所帮助

WPF的网格有几个意外的行为。在您的例子中,这是double.PositiveInfinity度量长度的意外行为

我已在此处发布了意外行为:。我在中写了一个新的。

移除外部堆叠面板将有所帮助

WPF的网格有几个意外的行为。在您的例子中,这是double.PositiveInfinity度量长度的意外行为


我已在此处发布了意外行为:。我在中写了一篇新文章。

外部StackPanel为网格提供了最小的空间来排列元素。它不允许网格stretch@ASh它能修好吗?如何让StackPanel为网格提供最大空间?使用不同的容器,允许网格拉伸,或为网格设置固定高度,或绑定网格高度。可能的修复取决于NedeOuter StackPanel中所需的布局,该布局为网格提供了排列元素的最小空间。它不允许网格stretch@ASh它能修好吗?如何让StackPanel为网格提供最大空间?使用不同的容器,允许网格拉伸,或为网格设置固定高度,或绑定网格高度。可能的修复取决于ned中所需的布局