0

我使用 ItemsPage 模板在 vs 2012 中创建了一个项目。

<!-- Collection of items displayed by this page -->
    <CollectionViewSource
        x:Name="itemsViewSource"
        Source="{Binding Items}"/>

这里的 {Binding Items} 是什么意思?我在 Windows Store 项目的 ItemsPage 中看到它。新的 ItemsPage 有一个基类 Common.LayoutAwarePage ,其中定义了 DefaultViewModel ,它指向一个 IMap 集合。此集合没有任何 Items 属性,那么 Source 如何在此处指向 Items?

谢谢卡哈尔

4

1 回答 1

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在模板中稍后绑定到一个项目。

于 2013-02-24T16:45:20.540 回答