我使用ItemsPage模板在vs 2012中创建了一个项目。
<!-- Collection of items displayed by this page -->
<CollectionViewSource
x:Name="itemsViewSource"
Source="{Binding Items}"/>
这里的{Binding Items}是什么意思?我在用于Windows应用商店项目的ItemsPage中看到它。新ItemsPage有一个基类Common.LayoutAwarePage,其中定义了DefaultViewModel,它指向一个IMap集合。这个集合没有任何Items属性,所以Source如何指向这里的Items?
由于 Kajal
答案 0 :(得分:1)
如果您查看LoadState
后面的代码,您会看到:
protected override void LoadState(Object navigationParameter, Dictionary<String, Object> pageState)
{
// TODO: Create an appropriate data model for your problem domain to replace the sample data
var sampleDataGroups = SampleDataSource.GetGroups((String)navigationParameter);
this.DefaultViewModel["Items"] = sampleDataGroups;
}
此处DefaultViewModel
的关键是“项目”,与CollectionViewSource
绑定匹配。
“Items”集合的每个元素都是SampleDataGroup
,然后在模板中稍后绑定到GridView
项。