我有一个带可编辑单元格的数据网格。我使用自动排序(按列标题)。现在,当用户编辑相应列已应用排序的单元格时,数据网格行将在编辑完成后重新排序,这可能会非常混乱。
我想阻止此行为,以便仅在单击列标题时对数据网格进行排序。
这是我的DataGrid XAML:
<DataGrid Name="MyDataGridTable"
IsReadOnly="False"
ItemsSource="{Binding Path=MyCollectionView}"
AutoGenerateColumns="False"
SelectionMode="Extended"
SelectionUnit="Cell">
<DataGrid.Columns>
<DataGridTextColumn Header="ID" Binding="{Binding Path=Person.ID}" IsReadOnly="True"></DataGridTextColumn>
<DataGridTextColumn Header="Age" Binding="{Binding Path=Person.Age}"></DataGridTextColumn>
<DataGridTextColumn Header="Name" Binding="{Binding Path=Person.Name}"></DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
在我的ViewModel中,我绑定了一个ICollectionView:
public ICollectionView MyCollectionView { get; set; }
MyCollectionView = CollectionViewSource.GetDefaultView(_personItemViewModels);
我已经尝试过像Sorting,RowEditEnding或CellEditEnding这样的事件来中断刷新/求助/重新过滤......但找不到任何解决方案。