J'ai la collection suivante, qui sert de stockage global pour un groupe de LineSeries ItemsSources pour un graphique.WPF Liaison de données dans la question de code
public ObservableCollection<ObservableCollection<Data>> AllDataSeries;
Ladite collection peut changer de temps en temps, quand il est remis à zéro, j'effacer le tableau de toutes les séries - et quand il est repeupler à nouveau, je suis d'ajouter autant de séries au tableau que le AllDataSeries.Count
me dit à.
À ce stade, j'ai besoin de définir la liaison.
for(int i = 0; i < AllDataSeries.Count; i++)
{
var series = new LineSeries { IndependentValuePath = "X", DependentValuePath = "Y", Title = "SomeSeriesTitle" };
Binding binding = new Binding("#?????#");
binding.Mode = BindingMode.TwoWay;
binding.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged;
series.SetBinding(ListView.ItemsSourceProperty, binding);
MyChart.Series.Add(series);
}
La chose est, je n'ai aucune ide comment composer le chemin pour la liaison. J'ai essayé:
String.Format("AllDataSeries[{0}]", i)
mais cela n'a pas fonctionné.
Comment dois-je définir la propriété Path sur la liaison?
Hey, merci pour une réponse détaillée. AllDataSeries est une propriété (il est minuit passé ici et je ne pense plus très clairement). J'ai trouvé une erreur dans la ligne series.SetBinding, (elle devrait être la propriété LinearSeries.ItemsSource, pas ListView.ItemsSource). Cela ne fonctionne toujours pas, après l'appel SetBinding la ItemsSource est null. des idées? J'ai défini le DataContext du graphique. – Maciek
Avez-vous essayé de définir explicitement la source de la liaison? Je m'attendrais à ce que le DataContext se propage à la série, mais je n'ai pas vraiment d'expérience avec les contrôles graphiques de la boîte à outils WPF. – Josh
Je dois aussi réitérer que le deuxième paragraphe de votre question m'indique que vous ne gagnez vraiment rien en établissant une reliure ici. Bien sûr, je voudrais savoir pourquoi la liaison ne fonctionnait pas aussi mais à la fin, je pense que vous feriez mieux de configurer ItemsSource = AllDataSeries [i] dans ce cas. – Josh