ItemsControlをCollectionViewSourceにバインドしています。コードは次のとおりです。
this.Trucks = new ObservableCollection<Truck>();
foreach (var truck in DataRepository.Trucks.Where(t => t.ReadyDate.Date.Equals(this.Date)))
{
this.Trucks.Add(truck);
}
this.TrucksSource = new CollectionViewSource { Source = this.Trucks };
this.TrucksSource.SortDescriptions.Add(new SortDescription("ReadyAddress.Region.RegionNumber", ListSortDirection.Ascending));
this.TrucksSource.SortDescriptions.Add(new SortDescription("TruckId", ListSortDirection.Ascending));
私が最初にバインドしたとき-ソートは機能します。ObservableCollectionにアイテムを追加すると、適切な場所に挿入されます。しかし、並べ替えるプロパティを変更すると、このアイテムはリスト内で「シフト」されません。
ReadyAddress.Region.RegionNumber
INotifyPropertyChangedを適切に発生させ、バインドされたフィールドに表示されますが、順序は変更されません。起こってはならないことがあると思いますか、それともこれを処理するためのより良い方法がありますか?