UIElementCollection.IndexOf(UIElement) Method

Definition

Returns the index position of a specified element in a UIElementCollection.

C#
public virtual int IndexOf(System.Windows.UIElement element);

Parameters

element
UIElement

The element whose index position is required.

Returns

The index position of the element. -1 if the element is not in the collection.

Examples

The following example finds the index position of a UIElement within a UIElementCollection.

XAML
<DockPanel Name="ParentElement">

    <TextBlock DockPanel.Dock="Top" Name="TxtDisplay"></TextBlock>

    <Button DockPanel.Dock="Top" Click="FindIndex">What is the Index Number
        of the Element Just Added?</Button>
    <DockPanel Name="MainDisplayPanel">
        <TextBlock DockPanel.Dock="Top">Text 1</TextBlock>
        <TextBlock DockPanel.Dock="Top">Text 2</TextBlock>
    </DockPanel>
</DockPanel>

...

C#
private int c_counter = 0;
void FindIndex(object sender, RoutedEventArgs e)
{
    c_counter+=1;
    // Create a new Text element.
    TextBlock newText = new TextBlock();
    // Add this element to the UIElementCollection of the DockPanel element.
    MainDisplayPanel.Children.Add(newText);
    // Add a text node under the Text element. This text is displayed. 
    newText.Text = "New element #" + c_counter;
    DockPanel.SetDock(newText,Dock.Top);
    // Display the Index number of the new element.    
    TxtDisplay.Text = "The Index of the new element is " +  MainDisplayPanel.Children.IndexOf(newText);
}

Applies to

Product Versions
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10