C# 从listview检索数据

C# 从listview检索数据,c#,listview,windows-store-apps,itemsource,C#,Listview,Windows Store Apps,Itemsource,在我的Windows应用商店应用程序中,有一个列表视图,该视图使用项目源获取数据。看起来是这样的: <ListView x:Name="lsvLinks" IsItemClickEnabled="True" SelectionMode="Single" ItemsSource="{Binding Source={StaticResource cvs2}}" ItemClick="lsvLinks_ItemClick" > <Li

在我的Windows应用商店应用程序中,有一个列表视图,该视图使用项目源获取数据。看起来是这样的:

<ListView x:Name="lsvLinks" IsItemClickEnabled="True" 
          SelectionMode="Single" 
          ItemsSource="{Binding Source={StaticResource cvs2}}" ItemClick="lsvLinks_ItemClick" >
   <ListView.ItemsPanel>
      <ItemsPanelTemplate>
         <WrapGrid Orientation="Vertical" HorizontalChildrenAlignment="left"/>
      </ItemsPanelTemplate>
   </ListView.ItemsPanel>
   <ListView.ItemContainerStyle>
      <Style TargetType="ListViewItem">
         <Setter Property="Padding" Value="0"/>
         <Setter Property="Margin" Value="-7.5"/>
      </Style>
   </ListView.ItemContainerStyle>
   <ListView.ItemTemplate>
      <DataTemplate>
         <StackPanel Orientation="Horizontal" Width="340" Height="32" Background="#FFBE9CDE" HorizontalAlignment="Left">
            <StackPanel Width="255" VerticalAlignment="Center" Margin="15,0,0,0">
               <TextBlock Text="{Binding Link}" Foreground="{Binding Color}" FontSize="15" Margin="0,3,0,0" FontWeight="Normal"  VerticalAlignment="Center" HorizontalAlignment="Left"/>
            </StackPanel>
            <StackPanel Width="50" VerticalAlignment="Center" Margin="0,0,0,0">
               <Button x:Name="btnRemove" Width="30" Height="30" Margin="20,0,0,0" ToolTipService.ToolTip="Remove" Click="btnRemove_click">
                  <Button.Template>
                     <ControlTemplate>
                        <Image Source="Assets/cancel.png" Width="30" Height="30"/>
                     </ControlTemplate>
                  </Button.Template>
               </Button>
            </StackPanel>
         </StackPanel>
      </DataTemplate>
   </ListView.ItemTemplate>
</ListView>

我的C代码

试试看{
IEnumerableobsCollection=(IEnumerable)等待webservice.getLinksStudentAsync(1);
linkList=新列表(obsCollection);
整数计数=1;
foreach(链接列表中的链接表linkL){
如果(链接状态等于(“是”)){
添加(新集合){
ID=count,Link=linkL.Link,Type=“接受”,Color=“绿色”,BackColor=“#FFA27BC7”
});
}如果(链接状态等于(“否”)){
添加(新集合){
ID=count,Link=linkL.Link,Type=“拒绝”,Color=“红色”,BackColor=“#FFA27BC7”
});
}否则{
添加(新集合){
ID=count,Link=linkL.Link,Type=“待定”,Color=“白色”,BackColor=“#FFA27BC7”
});
}
计数++;
}
cvs2.Source=链接;
}

当用户在listview中选择一个项目时,我需要检索它的ID。但是我不知道怎么做。有人能告诉我怎么做吗?

您需要在
列表视图中添加一个
SelectionChanged
事件并实现它

public void ItemSelected(object sender, SelectionChangedEventArgs args)
{
    var item= lsvLinks.SelectedItem as Collection;
    int ID = item.ID;
}
在ListView上,您可以按如下方式添加事件

<ListView x:Name="lsvLinks" IsItemClickEnabled="True" SelectionMode="Single" ItemsSource="{Binding Source={StaticResource cvs2}}" SelectionChanged="ItemSelected" >

<ListView x:Name="lsvLinks" IsItemClickEnabled="True" SelectionMode="Single" ItemsSource="{Binding Source={StaticResource cvs2}}" SelectionChanged="ItemSelected" >