1
IList<object> itemsSelected = MyGrid.SelectedItems;

foreach (object itemSelected in itemsSelected)
{
   MyGrid.SelectedItems.Remove(itemSelected);
}

選択したアイテムを GridView から削除しようとしましたが、選択したすべてのアイテムが削除されるわけではありません。誰かが私を助けることができますか?

4

4 に答える 4

3
object[] itemsSelected = MyGrid.SelectedItems.ToArray<object>();
        foreach (object item in itemsSelected)
        {
            MyGrid.Items.Remove(item);
        }
于 2012-12-03T12:53:55.270 に答える
1

私も正確な問題を抱えていました。私はこのようなものを書きましたが、すべてのアイテムも削除せず、一部だけを削除しました:

foreach(var item in MyGridView.SelectedItems)
{
     MyGridView.Items.Remove(item);
}

しかし、これを書くと、選択したすべてのアイテムが確実に削除されます。

while (YourGridView.SelectedItems.Count != 0)
{
    YourGridView.Items.Remove(YouGridView.SelectedItem);
}
于 2012-12-05T15:51:40.723 に答える
0

SelectedItems で foreach を使用する場合、例外はありませんか? 項目を削除すると、SelectedItems 配列が変更され、foreach が例外をスローします。(私は ListBox コントロールを試しましたが)。for-operator を使用して、最後から最初にインデックスで項目を削除してみてください。

于 2012-11-27T13:20:33.097 に答える