fuerza bruta:
- Acople manejador de cada evento PropertyChanged para cada elemento secundario
- Coge la ListCollectionView de su CollectionViewSource
- llamada Actualizar.
EDIT:
El código de 1, 2 viviría en el código subyacente.
Para # 1, que haría algo como:
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**
....
}
}
Para # 2, en el controlador CollectionChanged, que haría algo como:
private void _SomeItem_PropertyChanged(object sender, PropertyChangedEventArgs e)
{
ListCollectionView lcv = (ListCollectionView)(CollectionViewSource.GetDefaultView(theListBox.ItemsSource));
lcv.Refresh();
}
Edit2: Sin embargo, en En este caso, quisiera fuertemente sugiero que también marque ListCollectionView.NeedsRefresh y solo actualice si está configurado. No hay ninguna razón para volver a ordenar si sus propiedades han cambiado, lo que no afecta el género.
es así, estás de unión a su OC a un cuadro de lista y tienen la sortdescription en el cuadro de lista? – apandit
Eso es correcto. Cuando se cambia una propiedad de un elemento secundario, me gustaría que el género refleje este cambio. – Nate