【发布时间】:2010-03-20 15:26:24
【问题描述】:
在我的 Silverlight 应用程序中,我在应用程序 start 处加载我需要的所有 图像,并将它们存储在 字典 中。
然后,当我需要它们时,我从 字典 中挑选它们并将它们附加到 XAML 树等中。
但是,我遇到的问题是,如果我将图像对象附加到 Grid,然后想要再次使用该图像,它会告诉我:
图像元素已经是子元素 另一个元素。
如何遍历我的字典并“从父 XAML 元素中分离所有图像”?
【问题讨论】:
-
您不应该使用带有 ImageSource 对象的 observablecollection 的视图模型,它绑定到 UI 中某种类型的 ItemsControl 吗?还是 Silverlight 没有那种基础架构?
-
如果您在开始时解释为什么要在字典中构建具体图像可能会有所帮助?这是为了表演吗?避免异步图像加载?
-
@anthonywjones 我这样做是为了用户体验,例如在开始时加载 100 张图片并带有漂亮的动画等,然后进行非常快速的图片搜索/显示对于用户来说比每次需要访问新图片时都需要等待更好。
-
@will 这是可能的,但我体验到的动态越多(图像、样式、图像大小可以改变),在代码中执行它就越简单,例如tanguay.info/web/index.php?pg=codeExamples&id=365,但请记住 MVVM 方法,因为我了解其优势(单元测试能力等),但是您不必总是对 UI 等进行单元测试。
标签: wpf silverlight xaml