我正在开发基于XAML的Windows Phone 8.1项目。我的MainPage
有一个Pivot控件,其第一项设计为某种“仪表板”,它结合了多种数据,如事件和待办事项。
出于这个特殊目的,我有一个Event
和一个To-do
模型类(不是实际名称,但你明白了),因为我正在使用MVVMLight来运行这个节目。
我目前在MainPage.xaml的透视项中设置了ListView
。我想知道如何使其工作,使所有包含对象Event
和To-do
的项目都在一个透视项目中。
我环顾四周找到了CompositeCollection,但它只在WPF上,而不是在WinRT上。我尝试处理Midgard.CompositeCollection但数据没有显示,我不明白如何以不同的方式设置这些独立的数据样式。
是否有任何技术可以将两个数据集组合在一组列表中,但是会单独设置样式? ListView
是处理多种数据的正确控制,还是还有其他什么?
我对这个领域还很陌生;道歉,如果这是一个基本概念,我还不太了解。
谢谢!
答案 0 :(得分:0)
有一种方法,很简单。使Event
和To-do
都从相同的基类继承(可以为空)并创建此基类型的ObservableCollection
(如果您不想要,也可以是object
创建一个单独的类)。将Event
和To-do
对象添加到此ObservableCollection
。
将ListView
绑定到此ObservableCollection
。现在是棘手的部分。您需要创建DataTemplateSelector
。有关竞争指南,请参阅http://blog.kulman.sk/using-different-data-templates-with-gridview-in-windows-8-apps/(此文章适用于GridView
,但ListView
}的工作方式相同。