Quelle est la meilleure approche pour lier une source ItemsGrid DataGrid WPF à une ObservableCollection de ObservableCollections?Comment lier WPF Datagrid itemssource à Collection de collections?
par exemple.
public ObservableCollection<ObservableCollection<MyDataItem>> DataValues = new ObservableCollection<ObservableCollection<MyDataItem>>();
où MyDataItem peut ressembler à ceci:
public class MyDataItem
{
public string Caption { get; set; }
public string DataValue { get; set; }
}
Je peux assumer la collection de collections n'est pas en dents de scie, et ils contiennent tous le même nombre de « colonnes »
Est-il est-il possible de lier dynamiquement chaque colonne à la propriété 'DataValue' des objets MyDataItem ou dois-je placer les données dans une structure plus facile à lier?
Y a-t-il un moyen de le faire sans modifier l'objet intérieur? Je reçois cette hiérarchie d'objets à partir d'une zone différente de l'application et je suis curieux de savoir s'il existe un moyen de lier directement sans avoir à le modifier. – GlitterMonkey
Pas que je sache non. Vous devez exposer votre collection interne en tant qu'objet unique possédant une propriété pour chaque élément de la collection. Autant que je puisse voir cela ne peut être réalisé qu'en «enveloppant» votre collection intérieure comme je l'ai suggéré. Ou si vous êtes enclin à utiliser la dynamique (fonctionnalité .NET 4.0) - vous pouvez l'implémenter d'une manière plus simple (mais il s'agira toujours d'un wrapping - c'est-à-dire d'un type supplémentaire au lieu de la collection interne). –