UIElementCollection
UIElementCollection
UIElementCollection
UIElementCollection
Class
Definition
public : sealed class UIElementCollection : IIterable, IVector, IUIElementCollectionpublic sealed class UIElementCollection : IEnumerable, IList, IUIElementCollectionPublic NotInheritable Class UIElementCollection Implements IEnumerable, IList, IUIElementCollection// This API is not available in Javascript.
<panelobject>
oneOrMoreChildren
</panelobject>
- Attributes
| Device family |
Windows 10 (introduced v10.0.10240.0)
|
| API contract |
Windows.Foundation.UniversalApiContract (introduced v1)
|
Remarks
A UIElementCollection is the type of object that you get from the Children property of a Panel. For example, if you get a value from Grid.Children, that value is a UIElementCollection instance. All the properties that use a UIElementCollection in the Windows Runtime API are read-only properties, where the property is initialized with zero items when an object is first instantiated. But you can then add, remove or query items in the collection at run time, using the UIElementCollection properties and methods.
The type of the items in the UIElementCollection is constrained as UIElement. But UIElement is a base element class in Windows Runtime using XAML, so there are hundreds of element types that can be treated as a UIElement and can thus be one of the items in a UIElementCollection.
Enumerating the collection in C# or Microsoft Visual Basic
A UIElementCollection is enumerable, so you can use language-specific syntax such as foreach in C# to enumerate the items in the UIElementCollection. The compiler does the type-casting for you and you won't need to cast to IEnumerable<UIElement> explicitly. If you do need to cast explicitly, for example if you want to call GetEnumerator, cast to IEnumerable
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
The Size value returns the true number of items. API that use the index, such as GetAt, use a zero-based index, so you would subtract one from Size in order to specify that you want the last item in the collection.
If you are programming using C# or Microsoft Visual Basic, see Count.
Methods
Append(UIElement) Append(UIElement) Append(UIElement) Append(UIElement)
Adds a new item to the collection.
public : void Append(UIElement value)This member is not implemented in C#This member is not implemented in VB.Net// This API is not available in Javascript.
Remarks
Append adds the item to the end of the collection. If you want to insert an item into the beginning or middle of a collection, use InsertAt.
If you are programming using C# or Microsoft Visual Basic, see Add.
- See Also
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.
Remarks
The Clear method can be used when programming in C#, Microsoft Visual Basic or Visual C++ component extensions (C++/CX). The method signature is the same in each of these languages, and the behavior is the same.
First() First() First() First()
Returns the iterator object that can iterate over the items in the UIElementCollection.
public : IIterator<UIElement> 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
A convenient way to hold the iterator returned by First is to assign the return value to a variable that is declared with the auto type deduction keyword. Then use IIterator API as part of a while loop. For example:
auto iterator1 = uieCollection->First();
while (iterator1->HasCurrent)
{
auto currentItem = iterator1->Current;
//your logic here that does something with currentItem
iterator1->MoveNext();
}
GetAt(UInt32) GetAt(UInt32) GetAt(UInt32) GetAt(UInt32)
Returns the item located at the specified index.
public : UIElement 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.
Remarks
If you are programming using C# or Microsoft Visual Basic, see Item (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, UIElement[]) GetMany(UInt32, UIElement[]) GetMany(UInt32, UIElement[]) GetMany(UInt32, UIElement[])
Retrieves multiple elements in a single pass through the iterator.
public : unsigned int GetMany(unsigned int startIndex, UIElement[] 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
- UIElement[] UIElement[] UIElement[] UIElement[]
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 retrieved.
Remarks
If you are programming using C# or Microsoft Visual Basic, see CopyTo.
GetView() GetView() GetView() GetView()
Gets an immutable view into the collection.
public : IVectorView<UIElement> 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. This object implements IVectorView; with a UIElement constraint.
Remarks
If you are programming using C# or Microsoft Visual Basic, see CopyTo.
- See Also
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(UIElement, UInt32) IndexOf(UIElement, UInt32) IndexOf(UIElement, UInt32) IndexOf(UIElement, UInt32)
Retrieves the index of the specified item.
public : PlatForm::Boolean IndexOf(UIElement 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.
- 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
If you are programming using C# or Microsoft Visual Basic, see IndexOf.
- See Also
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, UIElement) InsertAt(UInt32, UIElement) InsertAt(UInt32, UIElement) InsertAt(UInt32, UIElement)
Inserts the specified item at the specified index.
public : void InsertAt(unsigned int index, UIElement 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.
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.
If you are programming using C# or Microsoft Visual Basic, see Insert.
Move(UInt32, UInt32) Move(UInt32, UInt32) Move(UInt32, UInt32) Move(UInt32, UInt32)
Moves the item at the specified index to a new location in the collection.
public : void Move(unsigned int oldIndex, unsigned int newIndex)public void Move(UInt32 oldIndex, UInt32 newIndex)Public Function Move(oldIndex As UInt32, newIndex As UInt32) As void// This API is not available in Javascript.
- oldIndex
- unsigned int UInt32 UInt32 UInt32
The zero-based index specifying the location of the item to be moved.
- newIndex
- unsigned int UInt32 UInt32 UInt32
The zero-based index specifying the new location of the item.
Remarks
Calling this method offers advantages over removing an item and adding it to a new location. Specifically, not as much tree rebuilding is required internally, and panels or controls that use UIElementCollection for items can be more responsive.
An example of a scenario where using Move may be useful is if you have a collection view or a specialized panel that supports a user experience where items wrap around. In this case you might want to move an item from the start of the collection to the end or vice versa, without forcing the entire visual tree under the panel or view to be rebuilt.
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.
If you are programming using C# or Microsoft Visual Basic, see RemoveAt. The behavior of each language's RemoveAt is basically the same.
- See Also
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.
If you are programming using C# or Microsoft Visual Basic, see RemoveAt (pass an index value of Count minus one).
- See Also
ReplaceAll(UIElement[]) ReplaceAll(UIElement[]) ReplaceAll(UIElement[]) ReplaceAll(UIElement[])
Initially clears the collection, then inserts the provided array as new items.
public : void ReplaceAll(UIElement[] items)This member is not implemented in C#This member is not implemented in VB.Net// This API is not available in Javascript.
- items
- UIElement[] UIElement[] UIElement[] UIElement[]
The new collection items.
Remarks
For implementations that track a "changed" event, the initial reset fires an event, but the items added do not fire discrete per-item events.
If you are programming using C# or Microsoft Visual Basic, there is no single-call equivalent to ReplaceAll. Use Clear and then successive calls to Add.
- See Also
SetAt(UInt32, UIElement) SetAt(UInt32, UIElement) SetAt(UInt32, UIElement) SetAt(UInt32, UIElement)
Sets the value at the specified index to the UIElement value specified.
public : void SetAt(unsigned int index, UIElement 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.
Remarks
If you are programming using C# or Microsoft Visual Basic, see Item (indexer).