J'ai un ListView avec un DataTemplate que j'ai besoin de lier à 3 sources différentes avec le même index. Je pense que je dois le faire complètement en XAML, parce que les sources (chart
) existent seulement dans xaml. J'utilise le modèle MVVM. »
j'écrire pour raconter comment il « devrait » travail, l'indice i
est la clé commune.Liaison de plusieurs sources à un ListView
<ListView ItemsSource="{Binding ???}">
<ListView.ItemTemplate>
<DataTemplate>
<StackPanel>
<!-- Small rectangle filled with the same color as the corresponding line -->
<Rectangle
Height="10"
Width="10"
Fill="{Binding ElementName=chart, Path=Series[i].LineStroke}" />
<!-- The title of the corresponding line -->
<TextBlock
x:Name="Title"
Text="{Binding ElementName=chart, Path=Series[i].DataSeries.Title}" />
<!-- The actual value of the corresponding line on the current position-->
<TextBlock
x:Name="Value"
Text="{Binding ElementName=chart, Path=Behaviour.Behaviours[0].CurrentPoints[i].Y}" />
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
Vous utilisez MVVM .. alors ne devriez-vous pas créer un ** ViewModel ** pour ce cas? Classe contenant à la fois la série et le comportement. Ensuite, utilisez ce ViewModel comme source de liaison à ListView. – Damb
J'ai un ViewModel qui fournit uniquement des données pour le contrôle du graphique, mais le graphique crée les couleurs et seul le graphique sait quel Y-Point est actuellement sélectionné. Et le graphique est seulement connu dans la vue, alors? – chriszero