J'essaie de trouver une manière moins salissante de répéter un contrôle n fois, en fonction de la valeur de la propriété d'un modèle lié. Les premiers contrôles m de n doivent cependant être affichés différemment, tandis que m est lié à une propriété différente de ViewModel. Pour illustrer le problème, considère que j'ai un ViewModel comme celui-ci (n étant Display
et mChecked
ici):Répétition du contrôle n fois et liaison de chaque instance
public class MyViewModel : ViewModelBase {
public int Display { get; set; }
public int Checked { get; set; }
/* ... */
}
Pour Display = 5, Checked = 3
, la vue doit rendre quelque chose le long des lignes de:
(X) (X) (X) () ()
Chaque (X)
et ()
doivent être des instances du même type de vue enfant. Maintenant, lorsque l'utilisateur clique sur le cinquième (dernière) commande, Checked
doit être réglé sur 5 et la vue serait maintenant afficher
(X) (X) (X) (X) (X)
Maintenant, je pouvais y parvenir en branchant quelques gestionnaires d'événements et en ajoutant programmation et obligatoire ()
changements à chaque fois Display
. Je me demande cependant s'il existe une méthode plus concise et moins compliquée pour y parvenir. Pensez à ViewModel comme un modèle de la vue.
Est-ce un contrôle d'évaluation? –
Pas tout à fait, mais sa mécanique serait similaire. Il diffère également des contrôles d'évaluation en ce qui concerne son échelle: il peut et va changer la valeur maximale pendant l'exécution en fonction des circonstances extérieures. – Manny