我有一个Windows 8应用程序,它使用GridView显示一组Items。我使用C#和XAML创建了应用程序。 GridView是多选的。
当用户离开GridView页面时,我使用:navigationHelper_SaveState().
当用户返回GridView页面时,我想重新选择之前选择的项目。
我已经确认保存和加载状态都有效。
但是,当用户返回页面时,之前选择的项目不会被选中。在navigationHelper_LoadState().
范围内,我这样做是为了选择所有以前选择的项目:
for (int i = 0; i < numPrevSelectedItems; i++) {
ItemsGridView.SelectedItems.Add(items[i]);
}
在StackOverflow的其他地方我已经读过使用SelectedItems.Add()
应该可行的。但是,它对我不起作用。当用户返回页面时,不会明显选择以前选择的项目。
有趣的是,ItemsGridView.SelectAll();
确实有效。
什么是使其正常工作的最佳方式?
答案 0 :(得分:0)
您可以这样做:
// Get the selected rows
DataGridViewSelectedRowCollection SelectedRowsCollection = ItemsGridView.SelectedRows;
// Clear your ItemsGridView selected rows (Just for testing the following code)
ItemsGridView.ClearSelection();
// Get your previous selected rows again.
foreach (DataGridViewRow item in SelectedRowsCollection)
{
int idx = ItemsGridView.Rows.IndexOf(item);
ItemsGridView.Rows[idx].Selected = true;
}
希望它有所帮助。