DataGridComboBoxColumn として列の 1 つを持つデータグリッドがあります。既存のデータの表示、itemsource のバインド、選択変更時のソースの更新は正常に機能しています。
問題は、DataGridComboBoxColumn のヘッダーをクリックすると、アルファベット順に並べ替えられないことです。私がチェックしたとき、実際には値ごとにソートされていますが、表示ごとにソートしたいのです。ネットで検索すると、「SortMemberPath」プロパティを使用し、このプロパティを並べ替えが発生するプロパティに割り当てる必要があるとのことでした。
これを行うと、ヘッダーが初めてクリックされたときにのみソートが機能しますが、その後のクリックではソートは行われません。ネットで検索しましたが、解決策を見つけることができませんでした。
以下は、DataGridComboBoxColumn の xaml です。
<DataGridComboBoxColumn Header="Database Name"
SelectedValueBinding="{Binding Path=Databases.DatabaseID, Mode=TwoWay, ValidatesOnDataErrors=True, UpdateSourceTrigger=PropertyChanged}"
ItemsSource="{Binding Source={StaticResource ManageTablesVMInstance}, Path=Database}"
SelectedValuePath="DatabaseID" DisplayMemberPath="DatabaseName" SortMemberPath="DatabaseName" />
上記で使用されているいくつかの用語のタイプ
データベース - ObservableCollection
ManageTablesVMInstance - ViewModel のインスタンス
データベース - ObservableCollection
私の側から他の情報が必要な場合はお知らせください。.net 4.0 を使用しています。
助けてください。
前もって感謝します。
よろしく、
サマール