title: How to get the index of an item added dynamically to a ListBox
body: <p>I would like to get the current index of an item in a listbox that was added dynamically. Essentially my item is a HubTile, and hubtiles are added on a click event one at a time. The collection of hubtile items are held in an ObservableCollection. This observablecolelction is bound to a listbox which displays the items. To illustrate, what I have is as follows:</p>
  
  <p>TabsPage.xaml</p>
  
  <pre><code>&lt;ListBox x:Name="tileList" Grid.Row="0" Margin="12,0,12,0" toolkit:TiltEffect.IsTiltEnabled="True"&gt;
              &lt;ListBox.ItemsPanel&gt;
                  &lt;ItemsPanelTemplate&gt;
                      &lt;toolkit:WrapPanel Orientation="Horizontal" /&gt;
                  &lt;/ItemsPanelTemplate&gt;
              &lt;/ListBox.ItemsPanel&gt;
              &lt;ListBox.ItemTemplate&gt;
                  &lt;DataTemplate&gt;
                      &lt;toolkit:HubTile Title="{Binding TileName}" Margin="6"
                                           Notification="{Binding Notification}"
                                           DisplayNotification="{Binding DisplayNotification}"
                                           Message="{Binding Message}"
                                           GroupTag="{Binding GroupTag}"
                                           Source="{Binding ImageUri}"
                                           Tap="hubTile_Tap"&gt;
                          &lt;toolkit:ContextMenuService.ContextMenu&gt;
                              &lt;toolkit:ContextMenu x:Name="menu"&gt;
                                  &lt;toolkit:MenuItem Header="pin to start" Tap="MenuItem_Tap"/&gt;
                                  &lt;toolkit:MenuItem Header="delete" Tap="deleteMenuItem_Tap"/&gt;
                              &lt;/toolkit:ContextMenu&gt;
                          &lt;/toolkit:ContextMenuService.ContextMenu&gt;
                      &lt;/toolkit:HubTile&gt;
  
                  &lt;/DataTemplate&gt;
              &lt;/ListBox.ItemTemplate&gt;
          &lt;/ListBox&gt;
  </code></pre>
  
  <p>TabsPage.xaml.cs</p>
  
  <pre><code>ObservableCollection&lt;TileItem&gt; tileItems;
  
  public TabsPage()
      {
          InitializeComponent();
  
          CreateTileList(); //starts the list of HubTiles with a single main tile
      }
  
  private void CreateTileList()
      {
          tileItems = new ObservableCollection&lt;TileItem&gt;()             
          {            
              //TileItem is     
              new TileItem() { ImageUri = mainImage, Title = "main", /*Notification = "",*/ Message = "main", GroupTag = "MainGroup", TileName = "main" },
  
          };
  
          //Set the first tile item
          this.tileList.ItemsSource = tileItems;  //sets the tileList Listbox ItemsSource to the tileItems ObservableCollection            
  
      }
  
  void addNew_Click(object sender, EventArgs e)
      {
          BitmapImage newTileImage = new BitmapImage();
  
          var newItem = new TileItem() { ImageUri = newTileImage, Title = "new", /*Notification = "",*/ Message = "new HubTile", GroupTag = "TileGroup", TileName = "new" };
          tileItems.Add(newItem); //update UI immediately and add to collection
      }
  
  private void hubTile_Tap(object sender, System.Windows.Input.GestureEventArgs e)
      {
          //how to get the current index of the tapped HubTile//
          //var tap = (((sender as HubTile).Parent as ListBox).SelectedIndex); //NullReferenceException thrown
      }
  </code></pre>
  
  <p>So, the HubTile items are correctly added to the UI, but on the tapped event I do not know how to get the selected index of the currently tapped HubTile item?</p>