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

时间:2016-04-18 09:00:20

标签: wpf wpf-controls

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

我该怎么做?

1 个答案:

答案 0 :(得分:0)

我不知道你的表的数据源是什么以及表的外观如何,但是让我们说你有一个窗口,你有一个名为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

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