C# 格线内的堆叠面板高度百分比

C# 格线内的堆叠面板高度百分比,c#,wpf,xaml,grid,scrollviewer,C#,Wpf,Xaml,Grid,Scrollviewer,我在运行时用内容动态填充两个StackPanel,我想通过百分比设置这两个StackPanel的高度。以下是我尝试过的: <Grid> <Grid.RowDefinitions> <RowDefinition Height="3*" /> <RowDefinition Height="2*" /> </Grid.RowDefinitions> <ScrollViewer HorizontalAlignm

我在运行时用内容动态填充两个StackPanel,我想通过百分比设置这两个StackPanel的高度。以下是我尝试过的:

<Grid>
  <Grid.RowDefinitions>
    <RowDefinition Height="3*" />
    <RowDefinition Height="2*" />
  </Grid.RowDefinitions>
  <ScrollViewer HorizontalAlignment="Stretch"
                Grid.Row="0">
    <StackPanel Name="gridEvents"
                Orientation="Vertical"
                HorizontalAlignment="Stretch">
      <Label Content="Foo" />
    </StackPanel>
  </ScrollViewer>
  <ScrollViewer HorizontalAlignment="Stretch"
                Grid.Row="1">
    <StackPanel Name="gridNewEvent"
                Orientation="Vertical"
                HorizontalAlignment="Stretch">
      <Label Content="Bar" />
    </StackPanel>
  </ScrollViewer>
</Grid>


如果我将RowDefinition高度更改为静态值,它将起作用。但当我尝试一个百分比时就不是了。有什么想法吗?

您是否尝试过设置网格的高度值?否则,它将展开以填充所有可用空间,并且您的行将填充结果网格的一定百分比。而且,它看起来更像是在设置ScrollViewer的值。您的意思是说您正在为这些设置高度吗?

您打算使用的百分比是多少?现在,您的RowDefinitions将Row1定义为3/5,将Row2定义为2/5,这似乎是正确的。另外,您的
网格
承载在哪种类型的面板中?如果它在
堆栈面板中,它将增长到其子级所需的任何大小。是的,我需要首先在父级上设置行定义。非常感谢。是的。问题出在我的容器上。啊。非常感谢。你把我推向了正确的方向