ItemCollection 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
保留構成 ItemsControl 內容的項目清單。
public ref class ItemCollection sealed : System::Windows::Data::CollectionView, System::Collections::IList, System::ComponentModel::IEditableCollectionView, System::ComponentModel::IItemProperties, System::Windows::IWeakEventListener
public ref class ItemCollection sealed : System::Windows::Data::CollectionView, System::Collections::IList, System::ComponentModel::IEditableCollectionViewAddNewItem, System::ComponentModel::IItemProperties, System::Windows::IWeakEventListener
public ref class ItemCollection sealed : System::Windows::Data::CollectionView, System::Collections::IList, System::ComponentModel::ICollectionViewLiveShaping, System::ComponentModel::IEditableCollectionViewAddNewItem, System::ComponentModel::IItemProperties, System::Windows::IWeakEventListener
[System.Windows.Localizability(System.Windows.LocalizationCategory.Ignore)]
public sealed class ItemCollection : System.Windows.Data.CollectionView, System.Collections.IList, System.ComponentModel.IEditableCollectionView, System.ComponentModel.IItemProperties, System.Windows.IWeakEventListener
[System.Windows.Localizability(System.Windows.LocalizationCategory.Ignore)]
public sealed class ItemCollection : System.Windows.Data.CollectionView, System.Collections.IList, System.ComponentModel.IEditableCollectionViewAddNewItem, System.ComponentModel.IItemProperties, System.Windows.IWeakEventListener
[System.Windows.Localizability(System.Windows.LocalizationCategory.Ignore)]
public sealed class ItemCollection : System.Windows.Data.CollectionView, System.Collections.IList, System.ComponentModel.ICollectionViewLiveShaping, System.ComponentModel.IEditableCollectionViewAddNewItem, System.ComponentModel.IItemProperties, System.Windows.IWeakEventListener
[<System.Windows.Localizability(System.Windows.LocalizationCategory.Ignore)>]
type ItemCollection = class
inherit CollectionView
interface IList
interface ICollection
interface IEnumerable
interface IEditableCollectionView
interface IItemProperties
interface IWeakEventListener
[<System.Windows.Localizability(System.Windows.LocalizationCategory.Ignore)>]
type ItemCollection = class
inherit CollectionView
interface IList
interface ICollection
interface IEnumerable
interface IEditableCollectionViewAddNewItem
interface IEditableCollectionView
interface IItemProperties
interface IWeakEventListener
[<System.Windows.Localizability(System.Windows.LocalizationCategory.Ignore)>]
type ItemCollection = class
inherit CollectionView
interface IList
interface ICollection
interface IEnumerable
interface IEditableCollectionViewAddNewItem
interface IEditableCollectionView
interface ICollectionViewLiveShaping
interface IItemProperties
interface IWeakEventListener
[<System.Windows.Localizability(System.Windows.LocalizationCategory.Ignore)>]
type ItemCollection = class
inherit CollectionView
interface ICollection
interface IEnumerable
interface IList
interface ICollectionViewLiveShaping
interface IEditableCollectionView
interface IEditableCollectionViewAddNewItem
interface IItemProperties
interface IWeakEventListener
Public NotInheritable Class ItemCollection
Inherits CollectionView
Implements IEditableCollectionView, IItemProperties, IList, IWeakEventListener
Public NotInheritable Class ItemCollection
Inherits CollectionView
Implements IEditableCollectionViewAddNewItem, IItemProperties, IList, IWeakEventListener
Public NotInheritable Class ItemCollection
Inherits CollectionView
Implements ICollectionViewLiveShaping, IEditableCollectionViewAddNewItem, IItemProperties, IList, IWeakEventListener
- 繼承
- 屬性
- 實作
範例
如果您有 ItemsControl ,例如 ListBox 具有內容的 ,您可以使用 Items 屬性來存取 ItemCollection ,這是檢視。 因為它是檢視,因此您可以使用檢視相關的功能,例如排序、篩選和分組。 請注意,設定 ItemsSource 時,檢視作業會委派至 ItemsSource 集合上的檢視。 因此,只有在委派檢視支援時,ItemCollection 才支援排序、篩選和分組。
下列範例示範如何排序具名 myListBox
的內容 ListBox 。 在此範例中, Content
是排序依據的屬性名稱。
myListBox.Items.SortDescriptions.Add(
new SortDescription("Content", ListSortDirection.Descending));
myListBox.Items.SortDescriptions.Add(New SortDescription("Content", ListSortDirection.Descending))
當您這樣做時,檢視可能會不是預設檢視,視資料的設定方式而定 ItemsControl 。 例如,當 屬性系結至 CollectionViewSource 時 ItemsSource ,您使用 Items 屬性取得的檢視不是預設檢視。
ItemsControl如果您的 系結 (您使用 ItemsSource 屬性) ,則可以執行下列動作來取得預設檢視:
CollectionView myView;
Private myView As CollectionView
myView = (CollectionView)CollectionViewSource.GetDefaultView(myItemsControl.ItemsSource);
myView = CType(CollectionViewSource.GetDefaultView(myItemsControl.ItemsSource), CollectionView)
或者,您可以使用 在 XAML CollectionViewSource 中指定篩選、排序和分組準則。
備註
ItemCollection 會維護專案集合,例如字串、物件、XML 節點、專案和其他集合。 ItemsControl會使用 中的資料 ItemCollection 來產生其內容。 如果您想要匯總多個集合,請將 指派 CompositeCollection 給 ItemsSource 的 ItemsControl 屬性。
Items使用 屬性或 ItemsSource 屬性來指定應該用來產生 內容的 ItemsControl 集合。 ItemsSource設定屬性時, Items 集合會變成隻讀且固定大小。 這表示如果您使用 ItemsSource 屬性,就無法直接在 中 ItemCollection 新增、刪除或變更專案。
ItemCollection 是 , CollectionView 因此提供集合檢視功能,例如排序、分組和篩選。 如需詳細資訊,請參閱SortDescriptions、Filter和GroupDescriptions。
如需集合檢視的詳細資訊,請參閱 資料系結概觀。
屬性
AllowsCrossThreadChanges |
取得值,指出建立 CollectionView 的執行緒之外的執行緒是否可以變更 SourceCollection。 (繼承來源 CollectionView) |
CanChangeLiveFiltering |
取得值,其中該值表示集合檢視是否支援即時開啟或關閉篩選資料。 |
CanChangeLiveGrouping |
取得值,這個值表示這個集合檢視是否支援開啟或關閉即時群組資料功能。 |
CanChangeLiveSorting |
取得值,這個值表示這個集合檢視是否支援開啟或關閉即時排序資料功能。 |
CanFilter |
取得值,這個值表示此集合檢視是否支援篩選。 |
CanGroup |
取得值,這個值表示此集合檢視是否支援群組。 |
CanSort |
取得值,這個值表示此集合檢視是否支援排序。 |
Comparer |
傳回物件,可用來比較檢視中的項目。 (繼承來源 CollectionView) |
Count |
取得集合中的記錄數目。 |
Culture |
取得或設定排序期間要使用的文化特性 (Culture) 資訊。 (繼承來源 CollectionView) |
CurrentItem |
取得檢視中的目前項目。 |
CurrentPosition |
取得目前項目在檢視中的序數位置。 |
Dispatcher |
取得與這個 Dispatcher 關聯的 DispatcherObject。 (繼承來源 DispatcherObject) |
Filter |
取得或設定回呼,這個回呼是用來判斷項目是否適合包含在檢視中。 |
GroupDescriptions |
取得定義如何群組項目的 GroupDescription 物件集合。 |
Groups |
取得根據 GroupDescriptions 建構的最上層群組。 |
IsCurrentAfterLast |
取得值,這個值表示檢視的目前項目是否超過集合的結尾。 |
IsCurrentBeforeFirst |
取得值,這個值表示檢視的目前項目是否超過集合的開頭。 |
IsCurrentInSync |
取得值,指出 CurrentItem 是否位於 CurrentPosition。 (繼承來源 CollectionView) |
IsDynamic |
取得值,表示基礎集合是否提供變更通知。 (繼承來源 CollectionView) |
IsEmpty |
取得值,這個值表示產生的 (已篩選) 檢視是否為空白。 |
IsInUse |
取得值,指出是否有任何物件訂閱這個 CollectionView 的事件。 (繼承來源 CollectionView) |
IsLiveFiltering |
取得或設定值,指出是否已啟用即時篩選資料。 |
IsLiveGrouping |
取得或設定值,指出是否已啟用即時設定資料群組。 |
IsLiveSorting |
取得或設定值,指出是否已啟用即時排序。 |
IsRefreshDeferred |
取得值,指出是否仍然有未處理的 DeferRefresh() 在使用中。 (繼承來源 CollectionView) |
Item[Int32] |
取得或設定位於指定之以零起始的索引的項目。 |
LiveFilteringProperties |
取得字串集合,這些字串會指定參與即時篩選資料的屬性。 |
LiveGroupingProperties |
取得字串集合,這些字串會指定參與即時篩群組資料的屬性。 |
LiveSortingProperties |
取得字串集合,這些字串會指定參與即時排序資料的屬性。 |
NeedsRefresh |
取得值,這個值表示集合是否需要重新整理。 |
SortDescriptions |
取得 SortDescription 物件的集合,說明集合內的項目如何在檢視中分組。 |
SourceCollection |
取得位於此集合檢視下之未排序且未篩選的集合。 |
UpdatedOutsideDispatcher |
取得值,這個值表示是否需要更新變更記錄檔,因為 CollectionChanged 通知已在不同的執行緒上收到,而不需要先輸入使用者介面, (UI) 執行緒發送器。 (繼承來源 CollectionView) |
方法
事件
CollectionChanged |
當檢視變更時發生。 (繼承來源 CollectionView) |
CurrentChanged |
在 CurrentItem 已經變更之後發生。 (繼承來源 CollectionView) |
CurrentChanging |
發生在 CurrentItem 正在變更時。 (繼承來源 CollectionView) |
PropertyChanged |
當屬性值已變更時發生。 (繼承來源 CollectionView) |
明確介面實作
擴充方法
Cast<TResult>(IEnumerable) |
將 IEnumerable 的項目轉換成指定的型別。 |
OfType<TResult>(IEnumerable) |
根據指定的型別來篩選 IEnumerable 的項目。 |
AsParallel(IEnumerable) |
啟用查詢的平行化作業。 |
AsQueryable(IEnumerable) |
將 IEnumerable 轉換成 IQueryable。 |