Silverlight:值不在预期范围异常范围内

Tsu*_*Tsu 6 c# silverlight

将子项添加到堆栈面板时,我得到"值不在预期范围异常范围内".即使在添加到stackpanel之前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
          }
}
Run Code Online (Sandbox Code Playgroud)

func()被多次调用.我读到当我们尝试添加具有相同名称的子项时发生错误.但在我的情况下,我正在清除堆栈面板,即使foreach循环每次调用func()只运行一次,也会发生错误

key*_*rdP 9

当有两个元素添加相同名称时,可能会导致此错误.在您的情况下,是否有任何重复的lDoc.Name值?如果是这样,您可以添加额外的唯一标识符.例如:

int id = 0; //outside foreach loop

myTextborder.Name = lDoc.Name + id.ToString();
id++;
Run Code Online (Sandbox Code Playgroud)