我需要我的 WPF 网格控件可动态调整大小(或多或少的行和列)

本文关键字:或多或少 调整 我的 WPF 网格 动态 控件 | 更新日期: 2023-09-27 18:34:32

我想让网格布局动态化。 几乎唯一需要的修改是我有时需要更多和更少的行和列。所以问题是,我如何在我的 c# 类中访问 row- 和 columndefinition?

<StackPanel Grid.Row="1" VerticalAlignment="Stretch">
  <Grid Name="mygrid" Height="490">
    <Grid.RowDefinitions>
      <RowDefinition Height="*"/>
      <RowDefinition Height="*"/>
      <RowDefinition Height="*"/>
    </Grid.RowDefinitions>
    <Grid.ColumnDefinitions>
      <ColumnDefinition Width="*"/>
      <ColumnDefinition Width="*"/>
    </Grid.ColumnDefinitions>
  </Grid>
</StackPanel>

尽管使用 c# 我没有得到任何解决方案。我尝试了这个尝试,但没有得出结论

mygrid.ColumnDefinitions

有人可以指出我正确的方向吗?

我需要我的 WPF 网格控件可动态调整大小(或多或少的行和列)

更改列定义应该很简单。 ColumnDefinitionCollection实现IList<ColumnDefinition>,因此您可以像在 .Net 中将其视为普通列表。

加:

var newColumn = new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) };
mygrid.ColumnDefinitions.Add(newColumn);

删除:

mygrid.ColumnDefinitions.RemoveAt(mygrid.ColumnDefinitions.Count - 1);

(注意:您可能还需要考虑使用附加属性来绑定行数/列数 - 例如,请参阅此处。