ICollectionView 接口
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
使集合能够支持当前记录管理、分组和增量加载 (数据虚拟化) 。
public interface class ICollectionView : IIterable<Platform::Object ^>, IObservableVector<Platform::Object ^>, IVector<Platform::Object ^>
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.Guid(2347286500, 56303, 17631, 129, 38, 163, 26, 137, 18, 29, 220)]
struct ICollectionView : IIterable<IInspectable>, IObservableVector<IInspectable>, IVector<IInspectable>
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.Guid(2347286500, 56303, 17631, 129, 38, 163, 26, 137, 18, 29, 220)]
public interface ICollectionView : IEnumerable<object>, IList<object>, IObservableVector<object>
Public Interface ICollectionView
Implements IEnumerable(Of Object), IList(Of Object), IObservableVector(Of Object)
- 属性
- 实现
-
IEnumerable<Object> IIterable<Platform::Object> IIterable<IInspectable> IIterable<T> IEnumerable<T> IList<Object> IVector<Platform::Object> IVector<IInspectable> IVector<T> IList<T> IObservableVector<Object> IObservableVector<Platform::Object> IObservableVector<IInspectable>
Windows 要求
设备系列 |
Windows 10 (在 10.0.10240.0 中引入)
|
API contract |
Windows.Foundation.UniversalApiContract (在 v1.0 中引入)
|
注解
ICollectionView 是用于表示集合的接口。 它用于维护项选择等属性的货币。
若要在数据源中实现选择货币的自定义行为,数据源应实现 ICollectionViewFactory ,而不是直接实现 ICollectionView。 可以将 CollectionViewSource.Source 属性设置为 ICollectionViewFactory,但如果将其设置为 ICollectionView,则会引发异常。
CollectionGroups 属性的类型为 IObservableVector<对象>,但这些对象应实现 ICollectionViewGroup。
接口继承
ICollectionView 继承 IObservableVector、 IVector 和 IIterable 。 实现 ICollectionView 的类型还实现 IObservableVector 的接口成员,以及 IVector 和 IIterable (用于 C++ 用法)或 IList和 IEnumerable (用于 Microsoft .NET 用法)。
属性
CollectionGroups |
返回与视图关联的任何集合组。 |
CurrentItem |
获取视图中的当前项。 |
CurrentPosition |
获取 CurrentItem 在视图中的序号位置。 |
HasMoreItems |
获取支持增量加载实现的 sentinel 值。 另请参阅 LoadMoreItemsAsync。 |
IsCurrentAfterLast |
获取一个值,该值指示视图的 CurrentItem 是否超出集合的末尾。 |
IsCurrentBeforeFirst |
获取一个值,该值指示视图的 CurrentItem 是否超出集合的开头。 |
方法
LoadMoreItemsAsync(UInt32) |
从视图初始化增量加载。 |
MoveCurrentTo(Object) |
将指定项设置为视图中的 CurrentItem 。 |
MoveCurrentToFirst() |
将视图中的第一项设置为 CurrentItem。 |
MoveCurrentToLast() |
将视图中的最后一项设置为 CurrentItem。 |
MoveCurrentToNext() |
将视图中 CurrentItem 后面的项设置为 CurrentItem。 |
MoveCurrentToPosition(Int32) |
将指定索引处的项设置为视图中的 CurrentItem 。 |
MoveCurrentToPrevious() |
将视图中 CurrentItem 之前的项设置为 CurrentItem。 |
事件
CurrentChanged |
实现此接口时,请在更改当前项后触发此事件。 |
CurrentChanging |
实现此接口时,请在更改当前项之前触发此事件。 事件处理程序可以取消此事件。 |
VectorChanged |
当向量更改时发生。 (继承自 IObservableVector<T>) |