我有一个列表视图,包含列文件名,日期和大小,我可以正常加载。但是当进行选择时,我无法访问所选项目的文件名。
我试过了:
if (filelist.SelectedItems.Count > 0)
{
String text="";
int x;
for (x = 0; x < filelist.SelectedItems.Count; x++)
text += filelist.SelectedItems[x].Text;
MessageBox.Show(text);
}
但是filelist.SelectedItems[x].Text;
会出错。
错误CS1061:'object'不包含'Text'的定义,没有 扩展方法'Text'接受'object'类型的第一个参数 可以找到(你错过了使用指令或程序集 引用?)
答案 0 :(得分:0)
您尝试获取Object实例的属性Text。首先,您必须将SelectedItems转换为您期望的类型。例如,如果您的ItemsSource是:
var sourcelist = new List<YourBoundItemType>();
// add items to sourcelist
filelist.ItemsSource = sourcelist ;
然后:
var selectedItems = filelist.SelectedItems.OfType<YourBoundItemType>().ToList();
if (selectedItems.Count > 0)
{
String text="";
int x;
for (x = 0; x < selectedItems.Count; x++)
text += selectedItems[x].Text;
MessageBox.Show(text);
}
请注意,YourBoundItemType类必须包含Text属性