我在for循环中创建了一些UI元素,并将其Name属性设置为name+i
,其中i
是循环计数器。稍后,如果我尝试按名称获取在for循环中创建的元素,则找不到UI元素。我做错了什么?
编辑:
好的,这是代码:
WrapPanel panel = new WrapPanel();
panel= (WrapPanel)FindName("panel");
Image img;
for(int i=0;i<5;i++){
img=new Image();
img.Name="name"+i;
img.Source = new BitmapImage(new Uri("someimg.png", UriKind.Relative));
panel.Children.Add(img);
}
//where img could not be found. However, at this point, all the images are present in panel.Children
img= (Image)FindName("name1");
编辑2:
好的,我解决了这个问题,我只需要使用RegisterName方法。谢谢大家...
答案 0 :(得分:1)
我发现了问题所在。在将父项添加到父项后,我还必须使用RegisterName
方法。