title: parse xml and binding data to listbox
body: <p>It's very simple task, but I struggle for hours.
  I have parse xml from web sources and bind them to listbox. Now I want to make an index for each items binded to list box, something like this:</p>
  
  <pre>
  1.Title   2.Title   3.Title
    Author    Author    Author
    Date      Date      Date
  </pre>
  
  <p>Here is what I have so far:</p>
  
  <pre><code>                &lt;ListBox.ItemTemplate&gt;
                  &lt;DataTemplate&gt;
                      &lt;StackPanel Name="stkPnl"  Orientation="Horizontal" Margin="15,0" MouseEnter="stkPnl_MouseEnter" MouseLeave="stkPnl_MouseLeave"&gt;
                          &lt;Image x:Name="imageAV" Source="{Binding avlink}" Height="80" Width="80" 
                                 Stretch="UniformToFill" MouseLeftButtonUp="imageAV_MouseLeftButtonUp" ImageFailed="imageAV_ImageFailed"/&gt;
                          &lt;StackPanel Orientation="Vertical" Margin="10,0,0,0" MouseLeftButtonUp="StackPanel_MouseLeftButtonUp"&gt;                                                               
                              &lt;TextBlock Text="{Binding nickname}" Width="Auto" /&gt;                               
                              &lt;TextBlock Text="{Binding track}" FontWeight="Bold" Width="Auto"/&gt;
                              &lt;TextBlock Text="{Binding artist}" Width="Auto"/&gt;
                          &lt;/StackPanel&gt;
                      &lt;/StackPanel&gt;
                  &lt;/DataTemplate&gt;
              &lt;/ListBox.ItemTemplate&gt;
  </code></pre>
  
  <p>and MainPage.xaml.cs</p>
  
  <pre><code>        private void DoWebClient()
      {
          var webClient = new WebClient();
          webClient.OpenReadAsync(new Uri("http://music.mobion.vn/api/v1/music/userstop?devid="));
          webClient.OpenReadCompleted += new OpenReadCompletedEventHandler(webClient_OpenReadCompleted);
  
      }
  
      void webClient_OpenReadCompleted(object sender, OpenReadCompletedEventArgs e)
      {
          using (var reader = new StreamReader(e.Result))
          {
  
              string s = reader.ReadToEnd();
              Stream str = e.Result;
              str.Position = 0;
              XDocument xdoc = XDocument.Load(str);
  
              var data = from query in xdoc.Descendants("user")
                         select new mobion
                         {
                             avlink = (string)query.Element("user_info").Element("avlink"),
                             nickname = (string)query.Element("user_info").Element("nickname"),
                             track = (string)query.Element("track"),
                             artist = (string)query.Element("artist"),
                         };
              listBox.ItemsSource = data;
          }
      }
  </code></pre>
  
  <p>As you see I only have nickname, track and artist, if I want to add an index that increase for each listboxItem, how can I do that? 
  Thank you for reading this question.</p>