我正在使用WPF中的DataGrid
與幾個decimal
列。我最近將綁定屬性更改爲decimal?
,現在這些列無法通過單擊標題進行排序(如同其他列一樣)。但是,我仍然可以使用我的代碼隱藏方法對它們進行排序。是否有人知道是否可以通過單擊標題對decimal?
列進行排序,或者如果不可能,背後的原因是什麼?這裏是我的相關代碼:對十進制類型的列進行排序? (可爲空)在WPF 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 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));
不幸的是,我沒有其他補充。如果有人能幫我解決這個問題,我將不勝感激。
感謝您的回覆。經過一番思考,我決定採取不同的路線,避免使用空值。不幸的是,自動生成的列有這個問題,但總是有解決方法。無論哪種方式,你的回答給了我需要的信息,所以我一定會接受它。 –