UIElementCollection.IndexOf(UIElement) Method

Definition

Возвращает позицию индекса указанного элемента в UIElementCollection.Returns the index position of a specified element in a UIElementCollection.

public:
 virtual int IndexOf(System::Windows::UIElement ^ element);
public virtual int IndexOf (System.Windows.UIElement element);
abstract member IndexOf : System.Windows.UIElement -> int
override this.IndexOf : System.Windows.UIElement -> int
Public Overridable Function IndexOf (element As UIElement) As Integer

Parameters

element
UIElement

Элемент, позиция индекса которого требуется.The element whose index position is required.

Returns

Int32

Позиция индекса элемента.The index position of the element. Значение -1, если элемент отсутствует в коллекции.-1 if the element is not in the collection.

Examples

В следующем примере выполняется поиск позиции индекса UIElement в UIElementCollection.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);
}
Dim c_counter as Integer = 0
Private Sub FindIndex(ByVal sender As Object, ByVal args As RoutedEventArgs)
    Try
        Dim newText As TextBlock = New TextBlock()
        c_counter = c_counter + 1
        ' 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 #" & CStr(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)
    Catch ex As System.Exception
        System.Windows.MessageBox.Show(ex.Message)
    End Try
End Sub

Applies to