WPF 里怎么用代码动态的确定 Grid的行列数呢?
WPF里怎么动态的确定Grid的行列数呢?例如例如用C#代码把一个Grid控件分成5*5的网格,并且动态生成25个image控件,并且把这25个image控件按次序放到刚...
WPF里怎么动态的确定Grid的行列数呢?
例如 例如用C#代码把一个Grid控件分成5*5的网格,并且动态生成25个image控件,并且把这25个image控件按次序放到刚分出来的单元格内呢?
请高手指点.... 展开
例如 例如用C#代码把一个Grid控件分成5*5的网格,并且动态生成25个image控件,并且把这25个image控件按次序放到刚分出来的单元格内呢?
请高手指点.... 展开
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);
}
}
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询