DependencyObjectCollection
DependencyObjectCollection
DependencyObjectCollection
DependencyObjectCollection
Class
Definition
Implements a practical collection class that can contain DependencyObject items.
public : class DependencyObjectCollection : DependencyObject, IIterable, IObservableVector, IVectorpublic class DependencyObjectCollection : DependencyObject, IEnumerable, IObservableVector, IListPublic Class DependencyObjectCollection Inherits DependencyObject Implements IEnumerable, IObservableVector, IList// This API is not available in Javascript.
- Inheritance
-
DependencyObjectCollectionDependencyObjectCollectionDependencyObjectCollectionDependencyObjectCollection
- Attributes
| Device family |
Windows 10 (introduced v10.0.10240.0)
|
| API contract |
Windows.Foundation.UniversalApiContract (introduced v1)
|
Inherited Members
Inherited methods
Inherited properties
Remarks
The purpose of the DependencyObjectCollection class is mainly to support the tooling and portability of behaviors. Behaviors are a technique for defining certain basic interactions of a UI element entirely in XAML, without requiring an event handler and code-behind.
If you're interested in implementing a business object class that supports collection-changed notifications you should use ObservableCollection or one of the interface patterns that supports changed events. For more info see Data binding in depth.
Enumerating the collection in C# or Microsoft Visual Basic
A DependencyObjectCollection is enumerable, so you can use language-specific syntax such as foreach in C# to enumerate the items in the collection. The compiler does the type-casting for you and you won't need to cast to IEnumerable<DependencyObject> explicitly. If you do need to cast explicitly, for example if you want to call GetEnumerator, cast to IEnumerable
Constructors
DependencyObjectCollection() DependencyObjectCollection() DependencyObjectCollection() DependencyObjectCollection()
Initializes a new instance of the DependencyObjectCollection class.
public : DependencyObjectCollection()public DependencyObjectCollection()Public Sub New()// This API is not available in Javascript.
Properties
Item[Int32] Item[Int32] Item[Int32] Item[Int32]
Gets or sets the element at the specified index.
This member is not implemented in C++T this[int index] { get; set; }Property Item(index As Integer) As TT this[int index] { get; set; }
- index
The zero-based index of the element to get or set.
- Value
- T T T T
The element at the specified index.
index is not a valid index in the System.Collections.Generic.IList`1.
The property is set and the System.Collections.Generic.IList`1 is read-only.
Size Size Size Size
Gets the size (count) of the collection.
public : unsigned int Size { get; }This member is not implemented in C#This member is not implemented in VB.Net// This API is not available in Javascript.
- Value
- unsigned int uint uint uint
The count of items in the collection.
Remarks
Note
The equivalent Microsoft .NET API is Count.
Methods
Append(DependencyObject) Append(DependencyObject) Append(DependencyObject) Append(DependencyObject)
Adds a new item to the collection.
public : void Append(DependencyObject value)This member is not implemented in C#This member is not implemented in VB.Net// This API is not available in Javascript.
The new item to add.
Remarks
Note
The equivalent Microsoft .NET API is Add.
Clear() Clear() Clear() Clear()
Removes all items from the collection.
public : void Clear()This member is not implemented in C#This member is not implemented in VB.Net// This API is not available in Javascript.
First() First() First() First()
Returns the iterator for iteration over the items in the collection.
public : IIterator<DependencyObject> First()This member is not implemented in C#This member is not implemented in VB.Net// This API is not available in Javascript.
The iterator object. The iterator's current position is at the 0-index position, or at the collection end if the collection is empty.
Remarks
You can iterate through a DependencyObjectCollection in C# or Microsoft Visual Basic. In many cases, such as using foreach syntax, the compiler does this casting for you and you won't need to cast to IEnumerable<DependencyObject> explicitly. If you do need to cast explicitly, for example if you want to call GetEnumerator, cast to IEnumerable
GetAt(UInt32) GetAt(UInt32) GetAt(UInt32) GetAt(UInt32)
Returns the DependencyObject located at the specified index.
public : DependencyObject GetAt(unsigned int index)This member is not implemented in C#This member is not implemented in VB.Net// This API is not available in Javascript.
- index
- unsigned int UInt32 UInt32 UInt32
The integer index for the value to retrieve.
The DependencyObject value at the specified index.
Remarks
Note
The equivalent Microsoft .NET API is Item (the indexer).
GetEnumerator() GetEnumerator() GetEnumerator() GetEnumerator()
Returns an enumerator that iterates through the collection.
This member is not implemented in C++IEnumerator<T> GetEnumerator()Function GetEnumerator As IEnumerator(Of T)IEnumerator<T> GetEnumerator()
An enumerator that can be used to iterate through the collection.
GetMany(UInt32, DependencyObject[]) GetMany(UInt32, DependencyObject[]) GetMany(UInt32, DependencyObject[]) GetMany(UInt32, DependencyObject[])
Retrieves multiple elements in a single pass through the iterator.
public : unsigned int GetMany(unsigned int startIndex, DependencyObject[] items)This member is not implemented in C#This member is not implemented in VB.Net// This API is not available in Javascript.
- startIndex
- unsigned int UInt32 UInt32 UInt32
The index from which to start retrieval.
- items
- DependencyObject[] DependencyObject[] DependencyObject[] DependencyObject[]
Provides the destination for the result. Size the initial array size as a capacity in order to specify how many results should be retrieved.
The number of items returned.
Remarks
Note
The equivalent Microsoft .NET API is CopyTo.
GetView() GetView() GetView() GetView()
Gets an immutable view into the collection.
public : IVectorView<DependencyObject> GetView()This member is not implemented in C#This member is not implemented in VB.Net// This API is not available in Javascript.
An object representing the immutable collection view.
IndexOf(T) IndexOf(T) IndexOf(T) IndexOf(T)
Determines the index of a specific item in the System.Collections.Generic.IList`1.
This member is not implemented in C++int IndexOf(T item)Function IndexOf(item As T) As Integerint IndexOf(T item)
- item
- T T T T
The object to locate in the System.Collections.Generic.IList`1.
The index of item if found in the list; otherwise, -1.
IndexOf(DependencyObject, UInt32) IndexOf(DependencyObject, UInt32) IndexOf(DependencyObject, UInt32) IndexOf(DependencyObject, UInt32)
Retrieves the index of the specified item.
public : PlatForm::Boolean IndexOf(DependencyObject value, unsigned int index)This member is not implemented in C#This member is not implemented in VB.Net// This API is not available in Javascript.
The value to find in the collection.
- index
- unsigned int UInt32 UInt32 UInt32
The index of the item to find, if found.
true if an item with the specified value was found; otherwise, false.
Remarks
Insert(Int32, T) Insert(Int32, T) Insert(Int32, T) Insert(Int32, T)
Inserts an item to the System.Collections.Generic.IList`1 at the specified index.
This member is not implemented in C++void Insert(int index, T item)Sub Insert(index As Integer, item As T)void Insert(int index, T item)
- index
The zero-based index at which item should be inserted.
- item
- T T T T
The object to insert into the System.Collections.Generic.IList`1.
index is not a valid index in the System.Collections.Generic.IList`1.
The System.Collections.Generic.IList`1 is read-only.
InsertAt(UInt32, DependencyObject) InsertAt(UInt32, DependencyObject) InsertAt(UInt32, DependencyObject) InsertAt(UInt32, DependencyObject)
Inserts the specified item at the specified index.
public : void InsertAt(unsigned int index, DependencyObject value)This member is not implemented in C#This member is not implemented in VB.Net// This API is not available in Javascript.
- index
- unsigned int UInt32 UInt32 UInt32
The index at which to set the value.
The value to set.
Remarks
InsertAt expands the collection and moves all subsequent index items by one. In contrast, SetAt replaces the item at the index, and the collection count remains the same.
Note
The equivalent Microsoft .NET API is Insert.
RemoveAt(Int32) RemoveAt(Int32) RemoveAt(Int32) RemoveAt(Int32)
Removes the System.Collections.Generic.IList`1 item at the specified index.
This member is not implemented in C++void RemoveAt(int index)Sub RemoveAt(index As Integer)void RemoveAt(int index)
- index
The zero-based index of the item to remove.
index is not a valid index in the System.Collections.Generic.IList`1.
The System.Collections.Generic.IList`1 is read-only.
RemoveAt(UInt32) RemoveAt(UInt32) RemoveAt(UInt32) RemoveAt(UInt32)
Removes the item at the specified index.
public : void RemoveAt(unsigned int index)This member is not implemented in C#This member is not implemented in VB.Net// This API is not available in Javascript.
- index
- unsigned int UInt32 UInt32 UInt32
The index position of the item to remove.
Remarks
If successful, calling this method reduces the collection size by one. Items with index values greater than the called index have their index values reduced by one.
Note
The equivalent Microsoft .NET API is RemoveAt.
RemoveAtEnd() RemoveAtEnd() RemoveAtEnd() RemoveAtEnd()
Removes the last item in the collection.
public : void RemoveAtEnd()This member is not implemented in C#This member is not implemented in VB.Net// This API is not available in Javascript.
Remarks
If successful, calling this method reduces the collection size by one.
ReplaceAll(DependencyObject[]) ReplaceAll(DependencyObject[]) ReplaceAll(DependencyObject[]) ReplaceAll(DependencyObject[])
Initially clears the collection, then inserts the provided array as new items.
public : void ReplaceAll(DependencyObject[] items)This member is not implemented in C#This member is not implemented in VB.Net// This API is not available in Javascript.
- items
- DependencyObject[] DependencyObject[] DependencyObject[] DependencyObject[]
The new collection items.
Remarks
For implementations that track a changed event, which this collection does do with VectorChanged, the initial reset fires an event, but the items added do not fire discrete per-item events.
SetAt(UInt32, DependencyObject) SetAt(UInt32, DependencyObject) SetAt(UInt32, DependencyObject) SetAt(UInt32, DependencyObject)
Sets the value at the specified index to the DependencyObject value specified.
public : void SetAt(unsigned int index, DependencyObject value)This member is not implemented in C#This member is not implemented in VB.Net// This API is not available in Javascript.
- index
- unsigned int UInt32 UInt32 UInt32
The index at which to set the value.
The value to set.
Remarks
InsertAt expands the collection and moves all subsequent index items by one. In contrast, SetAt replaces the item at the index, and the collection count remains the same.
Note
The equivalent Microsoft .NET API is Item (the indexer).
Events
VectorChanged VectorChanged VectorChanged VectorChanged
Occurs when the contents of the collection changes.
public : event VectorChangedEventHandler VectorChanged<DependencyObject>public event VectorChangedEventHandler VectorChanged<DependencyObject>Public Event VectorChanged<DependencyObject>// This API is not available in Javascript.
Remarks
This event is named VectorChanged for all languages, but for C# and Microsoft Visual Basic the implemented collection type is IList
The type of change that was applied to the collection is communicated as a CollectionChange value in the event data, with a collection index for where in the collection the change occurred. Because it reports per-index, multiple VectorChanged events can originate from the same collection at the same time.