当将 儿童添加到堆叠面板时,我得到的“价值不在预期范围例外范围内”。即使在添加到堆栈面板之前,myStackPanel.Children.Count = 0时也会发生这种情况。任何想法为什么?Silverlight:值不在预期范围内例外
void func()
{
myStackPanel.Children.Clear();
List<Docs> lDocs = docDictionary[ID];
foreach (Docs lDoc in lDocs)
{
...
Border myTextborder = new Border();
myTextborder.BorderThickness = new Thickness(1);
myTextborder.Name = lDoc.Name;
...
myStackPanel.Children.Add(myTextborder); //Getting Value does not fall within the expected range exception here
}
}
func()被多次调用。我读到当我们尝试添加同名的孩子时发生错误。但在我的情况下,我正在清除堆栈面板,即使每次调用func时foreach循环只运行一次,也会发生错误()
如果将'myTextborder.Name'行注释掉会怎么样? – Gabe 2011-05-20 03:25:50
此外,您在示例中替换为“...”的代码可能是相关的。 – Josh 2011-05-20 03:28:22
如果我评论它,错误不会发生。但是,对于每个func调用,我正在清除stackpanel。为什么发生这种情况。可能会从前面的func()调用中复制myTextBorder.Name,而不是当前的。当我每次清理时,这都很重要。 – Tsu 2011-05-20 03:29:04