だから私はC#/ WPFを使用していて、DataGrid
. ユーザーが で複数のアイテムを選択できるようにする必要がありますDataGrid
。SelectedItems
ただし、の順序は、ユーザーが選択した方向または順序に依存することに気付きました。たとえば、下から上にドラッグすると、アイテムは基本的に、DataGrid
それ自体の順序とは逆になります。これらのアイテムは、SelectedItems
コレクションにあったのと同じ順序でコレクションに入れる必要がありDataGrid
ます。
これが私がやっていることのサンプルです:
DataGrid grid = DataGridWorkoutTemplate;
if (grid.SelectedItems.Count > 1)
{
List<IntervalDisplay> source = (List<IntervalDisplay>)grid.ItemsSource;
List<IntervalDisplay> newSource = new List<IntervalDisplay>(source);
foreach (IntervalDisplay row in grid.SelectedItems)
{
newSource.Add(row);
}
grid.ItemsSource = newSource;
ご覧のとおり、私がやろうとしているのは、アイテムを取り込んで(この場合はリスト)SelectedItems
の最後に再度追加することだけですが、常に元の順序で追加する必要があります。ItemsSource
DataGrid
これを行うためのより良い方法がある場合、または元の順序を使用する方法を知っている場合は、お知らせください. SelectedItems
からの固有のインデックスはないようDataGrid
です。選択された順序でのアイテムのインデックスだけです。そして、このインデックス作成を処理するためだけに基本クラスを変更したくありません。
ありがとう!