Ok, tôi gặp nhiều vấn đề hơn với điều khiển ListView C# WPF của tôi. Dưới đây là trong tất cả vinh quang của nó:Truy cập danh sách WPF Truy cập vào SelectedItem và các phụ đề
<Window x:Class="ebook.SearchResults" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"Title="ISBNListView" Height="503" Width="1004">
<Grid>
<ListView Name="listView1" Margin"22,30,33,28" MouseDoubleClick="getSelectedItem" >
<ListView.View>
<GridView>
<GridView.Columns>
<GridViewColumn Header="ISBN" Width="150" DisplayMemberBinding="{Binding ISBN}"/>
<GridViewColumn Header="Title" Width="350" DisplayMemberBinding="{Binding Title}"/>
<GridViewColumn Header="Author" Width="350" DisplayMemberBinding="{Binding Author}" />
</GridView.Columns>
</GridView>
</ListView.View>
</ListView>
</Grid>
Tôi điền vào ListView như sau:
XDocument xdoc = XDocument.Load(GlobalVars.docPath + "\\tempSearchResults.xml");
var items = from item in xdoc.Descendants("Book")
select new
{
ISBN = item.Element("ISBN").Value,
Title = item.Element("Title").Value,
AuthTexts = item.Element("Author").Value
};
foreach (var item in items)
{
listView1.Items.Add(new { ISBN = item.ISBN, Title = item.Title, Author = item.AuthTexts });
}
Tôi gặp một con quỷ của một thời gian lấy dữ liệu từ một hàng khi nó được nhấp đúp. DoubleClick thực hiện bật lên một hộp thông báo với tất cả dữ liệu trong hàng, tôi dường như không thể chỉ nhận được một dữ liệu phụ hoặc ô. Nói một hàng có ISBN: 1234567 Tiêu đề: Hurrr Tác giả: Waldo, làm thế nào để tôi lấy lại ISBN hoặc chỉ tiêu đề?
private void getSelectedItem(object sender, MouseButtonEventArgs e)
{
System.Windows.MessageBox.Show(listView1.SelectedItems[0].ToString());
}
Vẫn còn mới đối với C# và .Net và đập đầu vào tường. Tôi hình dung điều này khá đơn giản.
Điều đó có ý nghĩa hoàn hảo! Tôi đã thêm một cuốn sách lớp học là: lớp học công khai Sách { chuỗi công khai ISBN {get; bộ; } chuỗi công khai Tiêu đề {get; bộ; } chuỗi công khai Tác giả {get; bộ; } } Khi tôi nhấp đúp vào một hàng, tôi nhận được lỗi sau trên dòng instantiation Sách bạn đã cung cấp: Không thể truyền đối tượng thuộc loại '<> F_AnonymousType1'3 [System.String, System.String, System.String ] 'để nhập' Sách ' – Dave
Bạn vẫn đang thêm trường hợp của một loại ẩn danh vào ListView của bạn. Đã cập nhật câu trả lời. – dtb
OK! Tôi hiểu ngay bây giờ, có ý nghĩa. Cảm ơn! – Dave