c# - Silverlight:值不在预期范围异常之内

标签 c# silverlight

添加时出现“值不在预期范围异常范围内” 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/

相关文章:

c# - 在 Razor 中将 View 模型属性编码为 JavaScript

c# - MVC 中的 MEF 和嵌入式 View

c# - 如何使用 Lambda 扩展渲染 Max(Substring)

wpf - 将实现与模式的某些部分匹配

c# - 在 Silverlight 中,UserControl_Loaded 和 Page_Loaded 有什么区别?

c# - 时钟应用

c# - 从另一个应用程序控制 WPF 应用程序

c# - 删除字符串的最佳方法是什么?

wpf - 在 WPF 中的 MVVM 中的 Viewmodel 之间传递值

.net - Silverlight:将子控件属性绑定(bind)到用户控件中的属性