DataGrid滚动/排序错误

时间:2014-07-31 15:03:32

标签: c# wpf sorting datagrid collectionviewsource

我有Datagrid

<DataGrid ItemsSource="{Binding MyCollectionViewSource.View}" AutoGenerateColumns="False">
    <DataGrid.Columns>
        <DataGridTextColumn Header="Id" Binding={Binding Id} IsReadOnly="True"/>
        <DataGridTextColumn Header="Name" Binding={Binding Name} />
    </DataGrid.Columns>
</DataGrid>

MyCollectionViewSource定义如下:

public ObservableCollection<SimpleDataViewModel> ObservableData { get; set; }
public CollectionViewSource MyCollectionViewSource { get; set; }

public DataGridViewModel()
{
    ObservableData = new ObservableCollection<SimpleDataViewModel>(
                        AllData.Select(x => new SimpleDataViewModel(x)));

    MyCollectionViewSource = new CollectionViewSource();
    MyCollectionViewSource.Source = ObservableData;

    MyCollectionViewSource.SortDescriptions.Add(
        new SortDescription("Id", ListSortDirection.Ascending));
    MyCollectionViewSource.View.Refresh();
}

当我快速滚动数据网格时,项目将变为未排序,并保持未排序。显然,这是不受欢迎的行为。为什么会发生这种情况,我该如何解决?

修改
看起来只有在快速滚动时才会出现错误,而不是使用鼠标滚轮。对于任何测试人员 - 选择滚动条并快速上下移动。

0 个答案:

没有答案