C# ListView:如何通过循环迭代获得下一个索引或项

C# ListView:如何通过循环迭代获得下一个索引或项,c#,listview,winrt-xaml,C#,Listview,Winrt Xaml,我是新开发的。我正在开发一个商店应用程序。我想迭代我的列表,这样每次我都可以得到列表视图的下一项。 我有一个弹出名称编辑弹出,它有一个按钮(添加保存)。当用户单击列表视图中的任何项目并打开弹出窗口进行编辑时,如果单击“添加保存”按钮,则当前项目应更新,列表视图应选择列表视图的下一个值,弹出数据也应替换为下一个项目数据。 这是我到目前为止的代码: if (addSaveBtnClick == true) { PopupAddEditGarmentService.IsOpen = true;

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

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;
}

这取决于您希望引用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}" 
然后,您可以在viewmodel中修改所选项目,视图将自动更新