kaba kuvvet:
- sizin CollectionViewSource
- Çağrı Yenile gelen her çocuk öğesi
- tut ListCollectionView için her PropertyChanged olay işleyicisi ekleyin.
DÜZENLEME:
kod 1 için, 2 sizin kod arkada yaşayacaktı.
1. için, böyle bir şey yapmak istiyorum:
private void Source_CollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
{
switch (e.Action)
{
case NotifyCollectionChangedAction.Add:
foreach(SomeItem item in e.NewItems)
{
item.PropertyChanged += new PropertyChangedEventHandler(_SomeItem_PropertyChanged);
}
break;
....
**HANDLE OTHER CASES HERE**
....
}
}
# 2 için, CollectionChanged işleyicisinde, sen böyle bir şey yapsın:
private void _SomeItem_PropertyChanged(object sender, PropertyChangedEventArgs e)
{
ListCollectionView lcv = (ListCollectionView)(CollectionViewSource.GetDefaultView(theListBox.ItemsSource));
lcv.Refresh();
}
EDIT2: Ancak içinde Bu durumda, güçlü bir şekilde olmasını, ListCollectionView.NeedsRefresh öğelerini de kontrol etmenizi ve yalnızca ayarlanmışsa yenilemenizi öneririm. Mülkleriniz değiştiyse, yeniden sıralama yapmak için bir neden yok.
Yani, bir liste kutusu için OC bağlayıcı ve liste üzerinde sortdescription var mı? – apandit
Bu doğru. Bir alt öğenin bir özelliği değiştirildiğinde, bu değişikliğin bu tür yansımaları olmasını isterim. – Nate