Show Index of Controls

image_pdfimage_print


   
  
<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    x:Class="ElemCollMethods.Pane1"
    WindowTitle="UI Element Collection Methods Sample">
 <StackPanel>
    <TextBlock Name="txt" FontSize="16">UI Element Collection - Methods</TextBlock>

    <TabControl>
        <TabItem MouseLeftButtonUp="ShowIndex">
            <TabItem.Header>Show Index of Controls</TabItem.Header>
        </TabItem>
    </TabControl>
    <StackPanel Name="sp1"></StackPanel>

 </StackPanel>
</Page>

//File:Window.xaml.cs
using System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Windows.Data;
using System.Windows.Input;

namespace ElemCollMethods
{

  public partial class Pane1 : Page
  {
    System.Windows.Controls.Button btn, btn1, btn2, btn3;


    void ShowIndex(object sender, MouseButtonEventArgs e)
    {
            sp1.Children.Clear();
            btn = new Button();
      btn.Content = "Click for index";
      btn.Click += (PrintIndex);
            sp1.Children.Add(btn);

            btn1 = new Button();
      btn1.Content = "Click for index";
            sp1.Children.Add(btn1);
            btn1.Click += (PrintIndex1);

      btn2 = new Button();
      btn2.Content = "Click for index";
            sp1.Children.Add(btn2);
            btn2.Click += (PrintIndex2);

      btn3 = new Button();
      btn3.Content = "Click for index";
            sp1.Children.Add(btn3);
            btn3.Click += (PrintIndex3);

    }
    void PrintIndex(object sender, RoutedEventArgs e)
    {
            btn.Content = ((sp1.Children.IndexOf(btn)).ToString());
        }
    void PrintIndex1(object sender, RoutedEventArgs e)
    {
            btn1.Content = ((sp1.Children.IndexOf(btn1)).ToString());
        }
    void PrintIndex2(object sender, RoutedEventArgs e)
    {
            btn2.Content = ((sp1.Children.IndexOf(btn2)).ToString());
        }
    void PrintIndex3(object sender, RoutedEventArgs e)
    {
            btn3.Content = ((sp1.Children.IndexOf(btn3)).ToString());
        }
  }
}