0
votes

Exécuter la commande dans listView menuitem mvvm

Pourquoi la commande dans mon élément de menu ListView n'exécute pas?

Ceci est le code sur ma listeView xxx

mais la chose étrange est la validateCommand à l'intérieur du GridView est exécuté.

tandis que la commande dans la menuem n'est pas.

Qu'est-ce qui ne va pas avec ma liaison?

et j'ai également vérifié si le nom de la commande est corriger. Sinon, je ne devrais pas recevoir une erreur indiquant que la commande ne se trouve pas dans la vue Model

Merci.


0 commentaires

3 Réponses :


0
votes

J'ai aussi ce problème parfois avec Menuitems à l'intérieur d'un contextMenu . Je suppose que le contextMenu ne peut pas trouver le dataContext correct.

Mon soltuion pour cela est une classe contrarianteProxy qui ressemble à: xxx

dans les ressources de votre vue (UserControl ou fenêtre) Vous devez ajouter le proxy comme: xxx

et dans votre menuitem, vous pouvez l'utiliser avec: xxx


0 commentaires

0
votes

Un menu (ainsi que la fenêtre contextuelle par exemple) ne fait pas partie de l'arborescence visuelle, car elle est créée à la demande. Comme elle ne fait pas partie de l'arbre visuel, elle n'héritera pas de ses parents DataContext. Cependant, vous pouvez toujours lier à votre listeView à l'aide de PlacementTarget -Property dans votre reliure: xxx


0 commentaires

0
votes

Pourquoi la commande dans mon élément de menu ListView n'est-elle pas exécutée?

Parce que le listview n'est pas un ancêtre visuel du Menuitem de sorte que le RelativeVource de la liaison n'est pas trouvé.

Si vous modifiez le ancestortype vers contextmenu et lier à son placementtarget , il devrait fonctionner: < Pré> xxx


0 commentaires