有两种方法。可能都是傻瓜...... 我必须展示一些项目集合。
第一个。
我使用DataTemplate for ListBoxItem。 只需设置itemSource = myCollection;
这就是全部。简单的方案。
第二个。
我的馆藏中的每件商品都有视图。这是一个UserControl。这定义了项目呈现的方式。
仅使用 ContentPresenter 创建 DataTemplate 。
将内容属性绑定到视图。
只需设置itemSource = myCollection;
这就是全部。更复杂。但也有效。
第二个有生存权吗?我怀疑是否必须为我的集合中的每个项目创建UserControl实例?
超过500件物品的收藏是否过于昂贵?
感谢。
答案 0 :(得分:1)
我不相信存在太大差异,使用DataTemplate方法,框架将为集合中的每个项目创建DataTemplate的实例。在第二种方法中,将为每个项目创建一个用户控件实例,可能还有一些控件,但每个项目只有几个。
第二种方法可能更可取的一个原因是您可以拥有围绕哪些内容绑定的逻辑。这可能意味着列表中每个项目的不同用户控件。 Caliburn Micro让您可以非常自然地使用这种方法。