Search code examples
c#xamllistviewwindows-phone-8visual-studio-2013

listview.selecteditem.Text or selected value not working in Windows phone


I have added this code of listview in MainPage.xaml

        <ListView  Margin="15.864,15,14.136,15" x:Name="listView1"  Height="125.955" SelectionChanged="listView1_SelectionChanged" RenderTransformOrigin="0.5,0.5" UseLayoutRounding="False" d:LayoutRounding="Auto" ItemClick="listView1_ItemClick">
           <ListViewItem x:Name="Item1"  FontSize="{StaticResource ContentControlFontSize}" Content="Item 1" />
           <ListViewItem x:Name="Item2" FontSize="{StaticResource ContentControlFontSize}" Content="Item2" />
        </ListView>

and made a event handler in MainPage.xaml.cs

   private void listView1_SelectionChanged(object sender, SelectionChangedEventArgs e)
    {
        //Try 1

        ListViewItem item =(ListViewItem) listView1.SelectedItem;
        TextBlockMain.Text = TextBlockMain.Text=listView1.SelectedItems[0].Text; (No defination of Text)
      //Try 2
      TextBlockMain.Text = item.Text; (No defination of Text)
      //Try 3

        TextBlockMain.Text=listView1.SelectedValue;
    }

The problem is intellisense doesn't provide options for following line like .Text, Value etc for

       TextBlockMain.Text=listView1.SelectedItems[0].Text; //here Text does not work

Similarly following line does not return string but object. Converting it to .ToString() prints the class name.

       TextBlockMain.Text=listView1.SelectedValue;

There must be some very basic mistake but i am unable to find it even after searching a lot. Kindly help me


Solution

  • Use the Content property, e.g. item.Content

       ListViewItem item =(ListViewItem) listView1.SelectedItem;
       TextBlockMain.Text = item.Content.ToString();