Je lie une application DataGrid WPF à une ObservableCollection via le "ItemSource" du DataGrid. Au départ, le DataGrid propose des en-têtes et des valeurs, mais les mises à niveau apportées à ObservableCollection ne sont pas reflétées. (c'est-à-dire quand je reviens par programmation et augmente la valeur "Total") La collection Observable que j'utilise est ci-dessous.WFP DataGrid ItemsSource La liaison à ObservableCollection ne se met pas à jour au-delà du premier paramètre?
Des idées pourquoi & comment obtenir la mise à jour/liaison dynamiquement la grille correctement?
public class SummaryItem
{
public string ProcessName { get; set; }
public long Total { get; set; }
public long Average { get; set; }
public static SummaryItem ObservableCollectionSearch(ObservableCollection<SummaryItem> oc, string procName)
{
foreach (var summaryItem in oc)
{
if (summaryItem.ProcessName == procName) return summaryItem;
}
return null;
}
}
EDIT - Ou peut-être une question d'add-on est de savoir si dans ce cas DataGrid est pas le contrôle que je devrais utiliser pour visualiser ce qui est effectivement une table en mémoire? C'est la observableCollection of SummaryItem est effectivement la table en mémoire.
Vous pouvez également créer votre propre classe de collection en héritant de ObservableCollection et écouter l'événement PropertyChanged de tous les éléments inclus dans la collection, puis relancer itemchanged chaque fois qu'un événement est levé à partir de n'importe quel élément. –