首页 > 解决方案 > 如何将孩子添加到特定的几个网格

问题描述

我有一个 WPF 项目,主窗口包含几个网格。在循环中创建文本框和块后,我使用以下方法将它们添加到网格中:

grid1.Children.Add(textbox1);
grid2.Children.Add(textbox2);
...
grid20.Children.Add(textbox20);

是否也可以用循环替换这段代码?

标签: c#wpf

解决方案


如果您有许多这样的网格/文本框,那么将它们包装在另一个控件中可能会更明智,正如 Yaho Cho 在他的评论中所建议的那样。

我可能会说显而易见的,但是如果您将网格和文本框放在一个列表中(即在代码中创建它们并在代码中将它们添加到容器中),您可以循环它们。

List<TextBox> tl = new List<TextBox>(){ ... };
List<Grid> gl = new List<Grid>(){ ... }
for (i=0; i<20; i++)
    {
        gl[i].Children.Add(tl[i]);
        container.Children.Add(gl[i]);
    }

推荐阅读