WPF 里怎么用代码动态的确定 Grid的行列数呢?
1个回答
展开全部
主窗体上放一个Grid,名字为“MainGrid"
ColumnDefinition和RowDefinition的Width和Height属性的值是GridLength对象。和XAML里一样,GridLength有三种值,Auto,Star,Pixel。
下面的代码没有显示设置这两个属性,因为它们的默认值都是 1*,正符合等分的要求。
private void MainWindow_Loaded(object sender, System.Windows.RoutedEventArgs e)
{
for (int i = 1; i <= 5; i++) {
MainGrid.ColumnDefinitions.Add(new ColumnDefinition());
MainGrid.RowDefinitions.Add(new RowDefinition());
}
MainGrid.ShowGridLines = true; // 测试用,可以去掉
Button crl = default(Button);
for (int c = 0; c <= 4; c++) {
for (int r = 0; r <= 4; r++) {
crl = new Button { Content = string.Format("Button{0}-{1}", r, c) };
Grid.SetColumn(crl, c);
Grid.SetRow(crl, r);
MainGrid.Children.Add(crl);
}
}
}
ColumnDefinition和RowDefinition的Width和Height属性的值是GridLength对象。和XAML里一样,GridLength有三种值,Auto,Star,Pixel。
下面的代码没有显示设置这两个属性,因为它们的默认值都是 1*,正符合等分的要求。
private void MainWindow_Loaded(object sender, System.Windows.RoutedEventArgs e)
{
for (int i = 1; i <= 5; i++) {
MainGrid.ColumnDefinitions.Add(new ColumnDefinition());
MainGrid.RowDefinitions.Add(new RowDefinition());
}
MainGrid.ShowGridLines = true; // 测试用,可以去掉
Button crl = default(Button);
for (int c = 0; c <= 4; c++) {
for (int r = 0; r <= 4; r++) {
crl = new Button { Content = string.Format("Button{0}-{1}", r, c) };
Grid.SetColumn(crl, c);
Grid.SetRow(crl, r);
MainGrid.Children.Add(crl);
}
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询