使用视图可以用不同的方式查看同一数据集合,具体的方式取决于排序、筛选或分组条件。 每个集合都有一个共享的默认视图,此视图在绑定指定集合作为其源时用作实际的绑定源。 本示例说明了如何获取集合的默认视图。
示例
若要创建视图,需要对相应集合的对象引用。 通过以下方法可以获取此数据对象:引用您自己的代码隐藏对象、获取数据上下文、获取数据源的属性或者获取绑定的属性。 本示例说明了如何获取数据对象的 DataContext 并使用它直接获得此集合的默认集合视图。
myCollectionView = CType(CollectionViewSource.GetDefaultView(rootElem.DataContext), CollectionView)
myCollectionView = (CollectionView)
CollectionViewSource.GetDefaultView(rootElem.DataContext);
在本示例中,根元素是一个 StackPanel。 DataContext 设置为引用数据提供程序的 myDataSource,该数据提供程序是 Order 对象的 ObservableCollection<T>。
<StackPanel.DataContext>
<Binding Source="{StaticResource myDataSource}"/>
</StackPanel.DataContext>
另外,您也可以使用 CollectionViewSource 类实例化并绑定到您自己的集合视图。 此集合视图仅由直接绑定到它的控件共享。 有关示例,请参见数据绑定概述中的“如何创建视图”部分。
有关集合视图提供的功能的示例,请参见如何:在视图中对数据进行排序、如何:筛选视图中的数据和如何:在数据集合视图中的对象之间导航。