我做了一个有3个属性的公共课。代码如下;
public class FileInformation
{
public String Name { get; set; }
public DateTime CreationTime { get; set; }
public DateTime LastModified { get; set; }
}
我正在使用此类使用本地文件夹中的文件填充Datagrid。为此,我使用以下代码;
DirectoryInfo di = new DirectoryInfo(@"db\");
List<FileInfo> files = di.GetFiles("*.accdb").ToList();
List<FileInformation> view1 = new List<FileInformation>();
foreach (FileInfo file in files)
{
view1.Add(new FileInformation() { Name = file.Name, CreationTime = file.CreationTime, LastModified = file.LastWriteTime });
}
listview_openproject.ItemsSource = view1;
现在,我希望能够检测到在数据网格中选择了哪些文件,因此我尝试了以下内容;
var selectedProject = listview_openproject.SelectedValue;
这为我提供了一个具有3个属性的对象 - Name,Creationtime和LastModified。到现在为止还挺好。我想访问attibute&#34; Name&#34;,但我无法这样做。我希望我能简单地写一下;
var selectedProjectName = selectedProject.Name;
但这不起作用。我该如何访问这个属性?
VS的截图:
答案 0 :(得分:2)
SelectedItem属性返回列表绑定的整个对象。请改用此属性:
FileInformation fi = (FileInformation)listview_openproject.SelectedItem;
String name = fi.Name;