Compartir a través de


Cómo: Buscar el índice de un elemento

Actualización: noviembre 2007

En este ejemplo se muestra cómo buscar el número de índice de un elemento recientemente agregado mediante el método IndexOf.

Ejemplo

En el ejemplo siguiente se define un elemento DockPanel de host en Lenguaje de marcado de aplicaciones extensible (XAML) y se usa un objeto Button para invocar el método personalizado FindIndex.

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

Los eventos relacionados se controlan mediante código subyacente. La posición de índice del elemento se notifica en una cadena de texto.

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

Vea también

Conceptos

Información general sobre elementos Panel

Referencia

UIElementCollection

UIElement

DockPanel