Freigeben über


Gewusst wie: Suchen des Indexes eines Elements

Aktualisiert: November 2007

In diesem Beispiel wird gezeigt, wie mithilfe der IndexOf-Methode die Indexnummer eines neu hinzugefügten Elements gefunden werden kann.

Beispiel

Im folgenden Beispiel wird ein DockPanel-Hostelement in Extensible Application Markup Language (XAML) definiert und Button verwendet, um die benutzerdefinierte FindIndex-Methode aufzurufen.

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

Die zugehörigen Ereignisse werden mithilfe von Code-Behind verarbeitet. Die Indexposition des Elements wird als Textzeichenfolge zurückgegeben.

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

Siehe auch

Konzepte

Übersicht über Panel-Elemente

Referenz

UIElementCollection

UIElement

DockPanel