在以下代码中,person.Children包含3个其他Person对象。此代码将child.Loaded事件处理程序添加到所有三个,但child_Loaded仅对前两个执行。知道为什么会这样吗?
foreach ( Person child in person.Children)
{
//Add children in same position as parent
child.x_PositionTransform.X = person.x_PositionTransform.X;
child.x_PositionTransform.Y = person.x_PositionTransform.Y;
child.SetValue(Canvas.NameProperty, "child" + objCount++);
child.Click += new RoutedEventHandler(person_Click);
x_LayoutRoot.Children.Add(child);
child.Loaded += new RoutedEventHandler(child_Loaded);
}
答案 0 :(得分:3)
我不能确定这是问题所在,但我会在将子项添加到Loaded
对象之前尝试设置x_LayoutRoot
事件处理程序。