首页 > 解决方案 > Xamarin 网格以适应整个屏幕错误循环

问题描述

我无法弄清楚我在这里缺少什么。目标:使用适合整个屏幕的列和行的 for 循环创建一个 5 x 5 的网格(因此是GridUnitType.Star)。但是,我已经尝试了所有关于构建 2D 数组的知识,但似乎没有任何效果。这些ColumnRow Definitions工作方式不同吗?我错过了什么?

NewGrid.RowDefinitions = new RowDefinitionCollection();
NewGrid.ColumnDefinitions = new ColumnDefinitionCollection();


for (int i = 0; i < textToInt; i++)
{
  NewGrid.RowDefinitions.Add(new RowDefinition { Height = new GridLength(1, GridUnitType.Star) });
  for (int j = 0; j < textToInt; j++)
  {
    NewGrid.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) });
    NewGrid.Children.Add(new Label { Text = "" + i },j,i);
  }
}

标签: c#xamarin

解决方案


 for (int i = 0; i < textToInt; i++)
  {
    NewGrid.RowDefinitions.Add(new RowDefinition { Height = new GridLength(1, GridUnitType.Star) });
 for (int j = 0; j < textToInt; j++)
 {
    NewGrid.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) });
  }
 }

 for (int i = 0; i < textToInt; i++)
 {
 for (int j = 0; j < textToInt; j++)
  {
    NewGrid.Children.Add(new Label { Text = "" + i },j,i);
  }
  }

尝试这个。


推荐阅读