WPF的XAML中,百分比边距问题

7
我想让UniformGrid占据总窗口宽度的70%和总窗口高度的80%。如何实现?
<UniformGrid x:Name="Grid" Margin="20,0,0,0">

</UniformGrid>

可能是WPF/XAML数据绑定问题的重复。 - Eugene
@Eugene,我写下这个问题是因为我不理解其他主题中的解决方案。我不知道如何使用那些其他主题中的解决方案。 - Yoda
1个回答

7

如其他回答所建议的那样,首先创建一个网格:

<Grid>
  <Grid.RowDefinitions>
     <RowDefinition Height="8*" />
     <RowDefinition Height="2*" />
  </Grid.RowDefinitions>
  <Grid.ColumnDefinitions>
     <ColumnDefinition Width="7*" />
     <ColumnDefinition Width="3*" />
  </Grid.ColumnDefinitions>

  <UniformGrid x:Name="yourGrid">
  </UniformGrid>
</Grid>

然后您将UniformGrid控件设置为主网格中第0行第0列的子级。x*符号表示您希望在行/列中使用屏幕的x部分,因此在8*/2*处拆分行将它们拆分为80%/20%,在7*/3*处拆分列将它们拆分为70%/30%。我希望这能为您解决问题。


XAML是无效的,但我已经纠正了它,问题是我仍然不知道如何使UniformGrid成为(0,0)(列,行)的一部分。 - Yoda
像这样:<Uniform Grid x:Name="yourName" Grid.Row="0" Grid.Column="0"><UniformGrid>。但是,如果行和列参数都等于0,就不需要指定它们,就像上面的答案一样。 - Eugene

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接