c# - StackPanel 中的矩形

标签 c# silverlight windows-phone-7 stackpanel rectangles

我试图在堆栈面板中插入多个矩形,但我不断收到错误消息“元素已经是另一个元素的子元素。”。如果我使用 Canvas ,也会发生同样的事情。

例子:

List<Rectangle> recList = new List<Rectangle>();

...在列表中放入一些矩形

StackPanel stack = new StackPanel();

foreach(var item in recList)
     stack.Children.Add(item); // get error here on 2nd item trying to add

uiStackPanel.Children.Add(stack); // declared in XAML

我希望能够在水平方向上动态插入矩形。 根据互联网,我应该能够做到这一点(至少手动)但是......

怎么办,怎么办? :)

最佳答案

似乎您不止一次添加了相同的矩形。

如果您需要添加与代码不同的矩形:

var list = new List<Rectangle>();
for (int i = 0; i < 10; i++)
{
    list.Add(new Rectangle());
}

var panel = new StackPanel();
foreach (var rectangle in list)
{
    panel.Children.Add(rectangle);
}

此代码有效。

关于c# - StackPanel 中的矩形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6272946/

相关文章:

c# - 从单元格值中获取列号,openxml

silverlight - 在后面的代码中设置隐式样式

windows-phone-7 - 如何在winphone中调用号码和密码

c# - 从墓碑返回时 RootVisual 为空?

c# - 使用 UIElements/UI Builder 绘制默认检查器

c# - 在 Visual Studio 2010 中保存 .ASCX 文件需要 3 分钟

c# - ApplicationSettingsBase 中的 FileNotFoundException

silverlight - 是否可以将 Windows 集成安全性与 Silverlight RIA 服务结合使用

c# - 将来自 Facebook API 的字符串放入列表框

c# - Windows Phone 7.1 视频(3GP,MP4)到音频(MP3)转换器——windows phone 上的 ffmpeg?