所以我使用 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
,只有项目按选择顺序排列的索引。而且我真的不想仅仅为了处理这个索引而修改基类。
谢谢!