当我写这段代码时:
ListView lv = new ListView();
foreach (ListViewDataItem item in lv.Items)
{
}
我得到" 无法找到ListViewDataItem的类型或名称"
在lv对象下也找不到项目。
基本上我需要遍历ListView的每一行并设置一个使用项目模板添加的复选框。
我该如何实现?
答案 0 :(得分:1)
循环浏览列表视图的正确方法是访问它的ItemsSource。然后,您可以将项目投射到视图模型中并使用它进行处理。
foreach (var item in lv.ItemsSource)
{
// cast the item
var dataItem = (ListViewDataItem) item;
// then do stuff with your casted item
...
}
答案 1 :(得分:0)
我使用了for循环来遍历listView ChildCount,将一个var作为GetChildAt的Tag分配为ImageAdapterViewHolder,然后将复选框设置为false。
class ImageAdapterViewHolder : Java.Lang.Object
{
public ImageView SavedImage { get; set; }
public TextView Description { get; set; }
public CheckBox SelectImage { get; set; }
}
for (int i = 0; i < listView.ChildCount; i++)
{
var row = listView.GetChildAt(i).Tag as ImageAdapterViewHolder;
row.SelectImage.Checked = false;
}