'WpfApplication1.Grid'不包含'SetColumn'的定义

时间:2018-10-21 15:55:10

标签: c# wpf

我已经在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
{

}

0 个答案:

没有答案