11
votes

Comment utiliser Ischecked comme paramètre de commande dans la même commande de cases à cocher

J'ai donc une case à cocher qui tire une commande à l'aide de WPF / MVVM, cela fonctionne bien, mais je souhaite utiliser la propriété Ischecked de la case à cocher en tant que paramètre de commande. J'ai essayé ça.

System.Windows.Data Error: 40 : BindingExpression path error: 'IsChecked' property not found on 'object'


6 commentaires

CommandParameter = "{chemin de liaison = ischecked RelateSource = auto}


vous devriez faire qu'une réponse arseny afin qu'elle puisse être upvote et recherchée plus facile


wpfwiki.com/wpf%20Q5.3hx


Relativeource = Duh-Duh ... Je savais que je le fais si rarement j'ai oublié, merci!


@Arseny: Vous devriez poster cela comme une réponse ...


@Arseny: Tu devrais ... ah, tu sais déjà.


4 Réponses :


35
votes

Veuillez ajouter RelativeVource auto dans CommandParameter xxx


3 commentaires

Est-il possible de définir la même manière l'état non coché de la case à cocher? Si je fais de même, le compilateur dit que vous ne pouvez pas définir CommandParameter plus d'une fois.


@Strum, je ne trouve pas de propriété non cochée dans la case à cocher. Même il existe que vous puissiez toujours définir Ischecked comme vous le souhaitez.


@Arseny Bonjour, peut-il ce support Twoway Binding? J'aimerais aussi lier la propriété ischecked aussi, quelque chose comme CommandParameter = "{chemin de liaison = ischecked, relativeSource = {RelativeSource auto}, mode = twoway}" . Ou je devrais lier ischecked séparément? Je pense que CommandParameter peut gérer iSChecked Propriété (une solution), je doute simplement que je ne peux utiliser que CommandParameter pour implémenter Twoway < / Code> Reliure ISCHECKED Propriété?



1
votes

Au lieu de créer une commande sur la case à cocher Vous pouvez lier Ischecked avec une propriété CLR et effectuer votre logique de commande sur Setter of CLR Propriété. Ceci est une autre solution de remise des comportements de commande.


0 commentaires

3
votes

Si vous rencontrez l'exception suivante, comme je l'ai fait ...

Définir la propriété system.windows.data.binding.relamageource a jeté une exception

Essayez ceci au lieu de: xxx


0 commentaires

2
votes

Oui JW1 est correct. Vous pouvez utiliser un nom Elemen aussi comme celui-ci, qui fonctionnerait également xxx


0 commentaires