Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在wpf中创建一个表(从代码),其中每个表单元格都是一个文本框_Wpf_Wpf Controls - Fatal编程技术网

如何在wpf中创建一个表(从代码),其中每个表单元格都是一个文本框

如何在wpf中创建一个表(从代码),其中每个表单元格都是一个文本框,wpf,wpf-controls,Wpf,Wpf Controls,正如标题所说,我想创建一个表,其中每个表单元格都是一个文本框。然后我想把这些文本框的值保存到一个文件中 我怎样才能做到这一点?我不知道您的表的数据源是什么,表应该是什么样子,但假设您有一个窗口,其中有一个名为MyGrid的网格 您可以动态添加行和列并生成表 public void MakeTable(int columns, int rows) { for (int x = 0; x < columns; x++) MyGrid.C

正如标题所说,我想创建一个表,其中每个表单元格都是一个文本框。然后我想把这些文本框的值保存到一个文件中


我怎样才能做到这一点?

我不知道您的表的数据源是什么,表应该是什么样子,但假设您有一个窗口,其中有一个名为MyGrid的网格

您可以动态添加行和列并生成表

    public void MakeTable(int columns, int rows)
    {
        for (int x = 0; x < columns; x++)
            MyGrid.ColumnDefinitions.Add(new ColumnDefinition());
        for (int y = 0; y < rows; y++)
        {
            RowDefinition r = new RowDefinition();
            r.Height = GridLength.Auto;
            MyGrid.RowDefinitions.Add(r);
        }

        for (int x = 0; x < columns; x++)
        {
            for (int y = 0; y < rows; y++)
            {
                TextBox tb = new TextBox();                 
                tb.Text = "my text for " + x + " " + y;
                Grid.SetColumn(tb, x);
                Grid.SetRow(tb, y);
                MyGrid.Children.Add(tb);
            }
        }
    }

    public string TableValue(int column, int row, int rows)
    {
        int i = row + column * rows;
        return ((TextBox)MyGrid.Children[i]).Text;
    }

例如,要将数据保存到文本文件中,必须定义一些规则。例如,在文件顶部写入列数和行数,然后写入单个单元格。在重新加载时理解内容。或者在列之间放置制表器…

效果完美!!非常感谢你!
        int columns = 2;
        int rows = 3;

        MakeTable(columns, rows); //prepare table

        string s = TableValue(0, 2, rows);  //read string from coordinates