1

J'ai un modèle d'entité avec une relation plusieurs à plusieurs. Pour simplifier, supposons qu'il s'agit d'une entité voiture et d'une entité (lecteur CD, toit ouvrant, etc.).Silverlight/WPF Liste de plusieurs à plusieurs listes de cases à cocher

J'ai un formulaire Silverlight/WPF dans lequel vous modifiez l'entité de voiture. Je voudrais avoir la liste des fonctionnalités possibles (tout dans le tableau des fonctionnalités) être une liste de cases à cocher. Cette partie est facile. Cependant, j'essaye de penser à une manière élégante de lier les cases à cocher de sorte que quand je vérifie, décoche l'un d'entre eux, il ajoute/supprime l'association entre cette caractéristique et la voiture. Je sais que cela peut facilement être fait avec de bons anciens gestionnaires d'événements de type WinForms, mais j'aimerais savoir si quelqu'un a un moyen de le faire en utilisant la liaison de données pour que je puisse toujours garder ma présentation et ma logique séparés

Répondre

1

Avez-vous regardé le modèle de présentation MVVM?

Je suggère de créer une classe ViewModel à lier. Cette classe peut contenir des propriétés telles que HasSunroof pour les cases à cocher à lier. Dans les méthodes set de ces propriétés, ils peuvent modifier la propriété associée (comme la propriété Sunroof).

Une alternative serait d'utiliser un IValueConverter. Lier à la propriété réelle (par exemple Sunroof). Dans le convertisseur, renvoyer true (checked) si la valeur de Sunroof n'est pas égale à null, sinon retourner false. La fonction ConvertBack() peut retourner le cas où IsChecked est égal à true dans l'objet requis pour la propriété.

Questions connexes