自动生成的DataGrid列'可分类性是随机的

时间:2014-07-04 09:17:20

标签: c# wpf datagrid

我在WPF中有一个带有自动生成列的DataGrid。以下是在XAML中声明它的方式:

<DataGrid ItemsSource="{Binding Table}"
          IsReadOnly="True"
          EnableColumnVirtualization="True"
          EnableRowVirtualization="True"
          AutoGenerateColumns="True"/>

其中Table是DataContext中的ObservableCollection

我的问题是DataGrid的列是随机决定是否可以单击它们以按该列排序。我甚至没有触及CanUserSort属性。可能导致这种情况的原因是什么?

1 个答案:

答案 0 :(得分:0)

我意识到DataGrid列可以排序,其类型为

  • 不能是Nullable
  • 必须定义一个排序(内置或IComparable,我猜)。

所以例如

public class Example {

    public long Id { get; set; } // sortable

    public Nullable<long> Id2 { get; set; } // not sortable

    public SomeOwnClass Ref { get; set; } // not sortable

}