我已经在WPF主页中创建了一个网格,我希望用户选择所述网格的尺寸(最初假设是正方形网格,行数=列数)。一旦指定了尺寸,我希望代码遍历所有网格并在每个单元格上放置一个彩色标签。
我已经找到了第一个标签(位置0,0),但是我想告诉大家,对于每次迭代,创建的标签都应放在Row(i),Column(j)中。
问题是,当我尝试使用Grid.SetRow(etiqueta,i)时,会弹出错误消息:“ WpfApplication1.Grid”不包含“ SetRow”的定义,但是我已经读到该方法是静态的,所以我不知道可能是什么问题。代码:
{
MyGrid.Children.Clear();
MyGrid.ColumnDefinitions.Clear();
MyGrid.RowDefinitions.Clear();
for(int i = 0; i < f; i++)
{
//Definimos las columas y las filas a la grid de la simulación.
RowDefinition filas = new RowDefinition();
MyGrid.RowDefinitions.Add(filas);
ColumnDefinition columnas = new ColumnDefinition();
MyGrid.ColumnDefinitions.Add(columnas);
for(int j = 0; j < c; j++)
{
Label etiqueta = new Label();
etiqueta.Width = MyGrid.Width / c;
etiqueta.Height = MyGrid.Height / f;
MyGrid.ShowGridLines = true;
//Definimos clase para pintar
SolidColorBrush colorLabel = new SolidColorBrush();
double fase = m.GetCelda(i, j).GetFase();
//etiqueta.ToolTip = fase.ToString("0.####");
byte[] RGBFase = Color_Fase(fase);
colorLabel.Color = Color.FromRgb(RGBFase[0], RGBFase[1], RGBFase[2]);
etiqueta.Background = colorLabel;
//Introducimos las celdas para luego poder seleccionarlas.
Grid.SetRow(etiqueta, i);
Grid.SetColumn(etiqueta, j);
//Introducimos estas celdas en la graella para poder controlar su fondo.
MyGrid.Children.Add(etiqueta);
}
}
}
catch (NullReferenceException) // Por si cerramos sin introducir datos, para que no pete
{
}