WPF-Datagrid-Sortierung nach Spalte mit Nullelementen

Ich habe ein WPF-Datagrid, das ich mit einer Reihe von Spalten verwende. Eine der Spalten enthält einige Elemente, die manchmal null sind. Dies führt zu einer Ausnahme, wenn ich versuche, diese Spalte zu sortieren.

Die Definitionen der Spalten sehen ungefähr so ​​aus:

<dg:DataGrid.Columns>
  <dg:DataGridTextColumn Binding="{Binding MyObject.Field1}" Header="Field1" Width="Auto" />
  <dg:DataGridTextColumn Binding="{Binding MyObject.Field2.SubField}" Header="Field2" Width="Auto" />
</dg:DataGrid.Columns>

Wenn ich nach der Spalte Field1 sortiere, ist es in Ordnung, wenn ich nach der Spalte Field2 sortiere und keine Null-Field2-Objekte vorhanden sind, ist es in Ordnung, aber manchmal gibt es solche, und das DataGrid versucht, nach dem SubField zu sortieren (ich schätze) und trifft eine Null-Ausnahme:

System.InvalidOperationException was unhandled
  Message=The SortDescriptions added are not valid. The probable solutions are to set the CanUserSort on the Column to false, or to use SortMemberPath property on the Column, or to handle the Sorting event on DataGrid.

Ich habe versucht, SortMemberPath auf "MyObject.Field2.SubField" zu setzen, aber dies behebt es natürlich nicht, da Field2 manchmal immer noch null ist. Ich habe mich gefragt, ob ich versuchen soll, einen Konverter zu verwenden, in dem ich SortMemberPath setze und dieser Konverter string.empty für alle Null-Elemente zurückgibt, aber nicht zum Funktionieren bringen kann.

Ich habe auch versucht, "TargetNullValue = {x: Static sys: String.Empty}" in die Bindung dieser Spalten einzufügen, aber es hat immer noch nicht funktioniert.

Alle Ratschläge / Vorschläge wäre sehr dankbar. Danke, Will

Antworten auf die Frage(1)

Ihre Antwort auf die Frage