添加时出现“值不在预期范围异常范围内” child 堆叠面板。即使在添加到堆栈面板之前 myStackPanel.Children.Count = 0 时也会发生这种情况。知道为什么吗?
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() 被多次调用。我读到当我们尝试添加具有相同名称的 child 时会发生错误。但就我而言,我正在清除堆栈面板,即使每次调用 func() 时 foreach 循环只运行一次,也会发生错误
最佳答案
当添加两个同名元素时,可能会导致此错误。在您的情况下,是否有重复的 lDoc.Name 值?如果是这样,您可以添加一个额外的唯一标识符。例如:
int id = 0; //outside foreach loop
myTextborder.Name = lDoc.Name + id.ToString();
id++;
关于c# - Silverlight:值不在预期范围异常之内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6067089/