【发布时间】:2013-05-05 00:47:20
【问题描述】:
所以,我有相当复杂的 ListBox,具有自己的样式和复合项目模板(在每个项目中,都有图像和文本,都带有单击事件,这会在全局视图模型中产生相应的命令)。重用该 ListBox 的最简单方法是什么?
我应该只提取样式,还是将其作为 UserControl 移出,还是应该制作新组件?一切都是静态的(命令、标记)除了内容(应该能够使用不同的项目列表)。
在完美的情况下,应该是(伪代码):
第 1 页 xaml
<MyListBox Content={Binding Page1List}>
第 1 页虚拟机
ObservableCollection<Items> Page1List;
其他页面以此类推。
编辑:我发现 this 文章 - 这很有意义,但我认为应该有更简单的方法。
【问题讨论】:
-
目的决定了你的答案。 Listbox 本身非常通用。您必须更具体地针对您的应用程序和需求。当您希望在所有其他页面中使用这种类型的列表框时,用户控件看起来不错。创建组件对我来说似乎很难看。
-
@max 是的,我有一种列表框样式/模板,我需要在具有不同上下文的不同页面上显示它。我会深入了解 UC,谢谢。
标签: c# windows-phone-7 mvvm-light