UIElementCollection.IndexOf Method (UIElement)

 

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

Namespace:   System.Windows.Controls
Assembly:  PresentationFramework (in PresentationFramework.dll)

public virtual int IndexOf(
	UIElement element
)

Parameters

element
Type: System.Windows.UIElement

The element whose index position is required.

Return Value

Type: System.Int32

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

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

<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>

...

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);
}

.NET Framework
Available since 3.0
Return to top
Show: