プロシージャルに (C#、VS 2010) 生成され、バインドされた列を持つ WPF DataGrid を使用していますが、DataGrid はデータを正しく並べ替えません。
CanUserSortColumns が true に設定されています。SortMemberPath は、グリッドに表示されるテキストと同じプロパティに設定されます。
ユーザーがどの列を並べ替えるかに関係なく、適切な列に並べ替えアイコンが表示されているにもかかわらず、DataGrid は最初の列の並べ替え順序を変更するだけです。
column.Header = departmentColumn.ColumnHeader;
column.Width = departmentColumn.ColumnWidth;
column.Binding = new Binding("Cells[" + departmentColumn.Ordinal.ToString() + "]");
column.SortMemberPath = "DisplayString";
他のデータが表示されたり、DataGrid によって誤って使用されたりしても問題はないので、困惑しています。他のすべてが適切な列のデータにバインドされているのに、並べ替えで最初の列のテキストのみが考慮されるのはなぜですか?