0
  • VS2010 -C# 我有一个文本框,您可以在其中输入一个整数,并使用整数个 UniformGrid 单元动态生成一个 UniformGrid。现在,如果我想为每个 UniformGrid 单元添加一个 TextBox,我执行以下操作(例如 int 是 5):

文本框[] tb = 新文本框[5];
for (int i = 0; i < 5; i++)
{
tb[i] = new Textbox();
UniformGrid1.Children.Add(tb[i]);
}

好的..效果很好。但是,当我还需要在其中填写更多的 Texbox、按钮和标签并定义一些设计属性时,问题就来了,可能还会在 UniformGrid 单元格中插入一个网格。如果我为每个控件创建数组并在循环中定义每个数组属性,它将变得非常混乱。不仅是乱七八糟,我不能把文本框放在 UniformGrid 的 Cell 的 Grid 中。孩子们将网格添加到 TextBox 的顶部。

有没有更好的方法来解决这个问题?

4

2 回答 2

2

您应该改用 DataBinding。

将 ItemsControl 绑定到 ObservableCollection 并使用 UniformGrid 作为 ItemsControl 的容器。

于 2010-12-11T10:12:05.403 回答
1

我认为使用像DataGrid这样的专用控件会更好,因为它会自动为模型创建双向绑定,易于维护等。有很多示例,例如这里(Google 可以帮助您找到更多,如果您问类似“wpf datagrid example tutorial”的东西)

于 2010-12-11T12:23:20.120 回答