I am getting "Value does not fall within the expected range exception" when adding children to stack panel. This happens even when myStackPanel.Children.Count = 0 just before adding to stackpanel. Any idea why?
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() is called multiple times. I read that the error occurs when we attempt to add children with the same name. But in my case, I am clearing the stack panel and the error occurs even if the foreach loop runs just once per call to the func()
This error can be caused when there are two elements being added with the same name. In your case, are there any duplicate lDoc.Name values? If so, you could add an extra unique identifier. For example:
int id = 0; //outside foreach loop
myTextborder.Name = lDoc.Name + id.ToString();
id++;
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With