ListView:如何通过循环迭代获取下一个索引或项目

时间:2014-07-21 08:24:56

标签: c# listview winrt-xaml

我是开发新手。我正在开发一个商店应用程序。我想迭代我的列表,以便每次我都可以获得列表视图的下一项。 我有一个弹出名称编辑弹出窗口,它有一个按钮(添加保存)。当用户单击列表视图中的任何项目并打开要编辑的弹出窗口时,如果单击添加保存按钮,则应更新当前项目,列表视图应选择列表视图的下一个值,弹出数据也应替换为下一个项目数据。 这是我的代码,直到现在:

if (addSaveBtnClick == true)
{
    PopupAddEditGarmentService.IsOpen = true;
    InvoiceGarmentServiceVM.getInvoiceGarmentServiceByInvoiceID(currentCustomerInvoice.InvoiceID);
    foreach (InvoiceGarmentServiceWork _invoiceGarmentService in InvoiceGarmentServiceVM.CollectionInvoiceGarmentServiceWork)// Lopp to iterate data from Collection
    {
        int _listCount = lvGarmentService.Items.Count;
        _listCount++;
        lvGarmentService.SelectedValue = _listCount;
    }
}
else
{
    PopupAddEditGarmentService.IsOpen = false;
}

1 个答案:

答案 0 :(得分:0)

这取决于您是否要引用viewmodel集合或UI。 如果要引用UI,可以通过获取SelectedIndex来遍历代码中的项。

YourListView.SelectedIndex

获得所选索引后,您可以运行逻辑并设置下一个选定的索引。

int index = YourListView.SelectedIndex;
//set new index 
//don't forget to do boundary checks
YourListView.SelectedIndex += 1;

如果您对使用viewmodel集合设置所选项目感兴趣,可以在XAML中设置

ListView.SelectedItem ="{Binding yourSelectedItemProperty}" 

然后,您可以在视图模型中修改所选项目,视图将自行更新。