J'ai un modèle de contrôle personnalisé pour une ListView
qui met une ligne supplémentaire dans pour chaque enregistrement, thats défini quelque chose comme ça dans Window.Resources ...se lier à une méthode dans le code derrière
<ControlTemplate TargetType="ListBoxItem">
<Border>
<StackPanel>
<GridViewRowPresenter>
<TextBlock Name="myTextBlock" />
</StackPanel>
</Border>
<ControlTemplate.Triggers>
//Triggers here
</ControlTemplate.Triggers>
</ControlTemplate>
Mon problème est que je veux lier le texte dans le TextBlock
à un différentItemsSource
que celui qui sera lié au ListBox
réel quand son instancié. La liaison par programme est impossible. J'ai essayé de substituer le TextBlock
pour un autre ListView
et de lier à une méthode, mais je n'ai pas pu trouver comment utiliser ObjectDataProvider
et lier à une méthode dans mon code derrière (qui contient une méthode qui retournerait une liste de choses que je veux se lier aussi), mais a également rencontré des problèmes avec cela.
Une étape rapide à pas dans le cas où je ne suis pas clair:
J'ai un modèle
ListView
qui ajoute une ligne supplémentaire pour chaque enregistrementCe
ListView
sera lié à (disons) une collection d'objets Foo. Le problème est que je veux ensuite lier la ligne supplémentaire à une source d'articles complètement différente de laListView
principale. Il ne semble pas que je peux le faire à partir de mon modèle:/
Alors - est-il un moyen de tout droit lier aux résultats d'une méthode définie dans mon code derrière, que je pouvais faire référence dans le modèle ?
Si vous allez dans cette voie, vous aurez également besoin de vous soucier de coiffer les listboxes afin que le recouvrement n'est pas apparente, ainsi que la synchronisation des sélections afin que la sélection d'un élément dans la première zone de liste efface la sélection dans la seconde. Et vous aurez besoin d'une logique de fantaisie si vous voulez l'accessibilité du clavier ... –
oui, bien sûr, Nicholas Armstrong a raison, mais ce n'est pas aussi compliqué qu'il semble au premier coup d'oeil. – levanovd
La fonctionnalité du clavier n'est pas un problème du tout, mais je vois comment cela serait difficile. Je n'ai jamais pensé que je devrais commencer à modifier ma conception initiale pour rendre la chose plus facile. – MoominTroll