基本上,您应该创建一个用户控件,而不是直接在页面 cs 代码中创建复杂的对象。在您的用户控件上,您可以预设元素的位置,即,如果您希望它有一个图像和几个文本块,您只需将它们放置在那里即可。那将是一个模板。
然后,您在循环中创建用户控件列表。
所以,你的代码将如下所示:
for (int j = 0; j < 300; j++)
{
SomeUserControl someUserControl = new SomeUserControl(constuctorValue1, constuctorValue2);
ListOfSomeUserControls.Add(someUserControl);
LayoutRoot.Children.Add(someUserControl);
}
其中 ListOfSomeUserControls 是在页面代码上定义的列表。
在这里,您可以向构造函数发送一些数据,例如 someUserControl 将是您的 ImageUri 或文本值。
或者,您可以在用户控件中创建一些属性以在那里设置数据。
或者,您可以在用户控件中创建一些方法,例如 ChangeImageUri() 或类似的方法。
要使用这个动态创建的用户控件,您应该使用ListOfSomeUserControls[Index]。您还可以将此列表保存在某处以供以前使用。
这就是基本的想法。
在您共享的链接中,OP 创建了一个列表links到图像。感受一下不同之处:他的页面上有 5 个图像框和一个包含 300 个链接的列表。因此,当您启动应用程序时,您会看到:
Image1::listOfUris[1] Image2::listOfUris[2] Image3::listOfUris[3] Image4::listOfUris[4] Image5::listOfUris[5]
当您点击next按钮,您只需将此列表替换 1。
Image1::listOfUris[2] Image2::listOfUris[3] Image3::listOfUris[4] Image4::listOfUris[5] Image5::listOfUris[6]
仅此而已,只有 5 张图片,而不是 300 张。