添加子项以包装面板

时间:2011-10-01 11:27:03

标签: wpf vb.net

我正在将矩形添加到这样的包裹面板中:

For i = 0 to 20
wrapPanel.children.add()
next

我想使用这个循环,因为我不想指定限制:

Do
wrapPanel.children.add()
Loop

但是如何在填充包装面板时打破循环?例如,当包裹面板无法以其整个高度或宽度显示矩形时,循环将停止。

2 个答案:

答案 0 :(得分:2)

这是错误“指定的Visual已经是另一个Visual的子项或CompositionTarget的根。” 我想使用用户控件从xml文件中读取数据。

    List<careeroption> qz = new List<careeroption>();
        qz = KompkinDP.GetQuizList(CareerID.ToString());
        foreach (careeroption q in qz)
        {
            UserControl1 uc = new UserControl1();

            for (int i = 0; i < q.CareerOptionQuiz.Count; i++)
            {
                uc.QuizName = q.CareerOptionQuiz[i];

                wrap1.Children.Add(uc);
            }
           // wrap1.Children.Add(uc);
        }

答案 1 :(得分:1)

我终于搞定了!我正在使用Canvas而不是Wrap Panel。这是工作代码:

for y = 0 to Canvas.height - Rectangle.height Step Rectangle.height
 for x = 0 to Canvas.width - Rectangle.width Step Rectangle.width
  Canvas.sety(Rectangle,y)
  Canvas.setx(Rectangle,x)

  Canvas.children.add(Rectangle)
 next
next