我正在使用DataGrid
WPF 中的多个decimal
列。我最近将绑定属性更改为decimal?
s,现在这些列无法通过单击标题进行排序(就像我的其他列一样)。但是,我仍然可以使用代码隐藏中的方法对它们进行排序。有谁知道是否可以decimal?
通过单击标题对列进行排序,或者如果不可能的话,背后的原因是什么?这是我的相关代码:
有问题的几列(该属性附加到 DataGrid 的行为。启用/禁用该行为没有区别):
[Column("PPAvg", 7)]
public decimal? ProjectedPointsAvg { get; set; }
[Column("PPHi", 8)]
public decimal? ProjectedPointsHi { get; set; }
[Column("PPLo", 9)]
public decimal? ProjectedPointsLo { get; set; }
DataGrid 本身:
<DataGrid x:Name="poolDataGrid"
Grid.Row="1"
CanUserAddRows="False"
IsReadOnly="True"
MouseDoubleClick="poolDataGrid_MouseDoubleClick">
<i:Interaction.Behaviors>
<local:ColumnHeaderBehavior />
</i:Interaction.Behaviors>
</DataGrid>
我仍然可以使用以下代码通过代码隐藏进行排序:
var col = poolDataGrid.Columns.SingleOrDefault(c => c is DataGridTextColumn && c.Header.ToString() == "PPHi");
poolDataGrid.Items.SortDescriptions.Add(new SortDescription(col.SortMemberPath, ListSortDirection.Descending));
不幸的是,我没有太多要补充的。如果有人可以帮助我解决这个问题,我将不胜感激。