2010-07-15 45 views
0

在我的最新项目中,我有一个ListView,它绑定到ObservableCollection。这ObservableCollection包含了一些我SongData类的对象:如何将id附加到ListViewItem?

public class SongData 
{ 
    public int Id { get; set; } 
    public string Title { get; set; } 
    public string Artist { get; set; } 
} 

这些对象是充满了来自SQLite数据库导出数据,以及物业Id包含该记录的主键。显然,我不想在我的ListView中显示这个ID。但是,当我在ListView上处理DoubleClick事件时,确实需要此ID。

我当前的XAML代码是:

<ListView Margin="12,41,12,12" Name="lvwOverview" SelectionMode="Single" ItemsSource="{Binding SongCollection}" MouseDoubleClick="lvwOverview_MouseDoubleClick"> 
    <ListView.View> 
     <GridView> 
      <GridViewColumn Width="200" Header="Title" DisplayMemberBinding="{Binding Title}"></GridViewColumn> 
      <GridViewColumn Width="200" Header="Artist" DisplayMemberBinding="{Binding Artist}"></GridViewColumn> 
     </GridView> 
    </ListView.View> 
</ListView> 

现在,我希望能够得到的ID(与数据库使用),当在ListViewItem的用户doubleclicks。任何想法如何做到这一点?

回答

0

尝试

var data = List.SelectedItem as SongData; 
if (data != null) 
    ... 
+0

这工作,谢谢!奇怪,我没有想到这个自己:D – Landervdb 2010-07-15 14:18:12

0

在您的双击处理程序中,您应该能够获得对被双击的项目的引用(或按照自己的方式工作)。这是绑定到的相同的SongData引用。

仅仅因为它没有被显示并不意味着该属性不再存在。它应该在那里准备好并可供使用。