Pourquoi la commande dans mon élément de menu ListView n'exécute pas?
Ceci est le code sur ma listeView p> mais la chose étrange est la validateCommand à l'intérieur du GridView est exécuté. P> tandis que la commande dans la menuem n'est pas. P> Qu'est-ce qui ne va pas avec ma liaison? P> 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 P> Merci. p> p>
3 Réponses :
J'ai aussi ce problème parfois avec Mon soltuion pour cela est une classe contrarianteProxy qui ressemble à: p> dans les ressources de votre vue (UserControl ou fenêtre) Vous devez ajouter le proxy comme: p> et dans votre menuitem, vous pouvez l'utiliser avec: p> Menuitems code> à l'intérieur d'un
contextMenu code>. Je suppose que le contextMenu
ne peut pas trouver le dataContext correct.
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:
Pourquoi la commande dans mon élément de menu ListView n'est-elle pas exécutée? p>
Parce que le
listview code> n'est pas un ancêtre visuel du
Menuitem code> de sorte que le
RelativeVource code> de la liaison n'est pas trouvé. p>
Si vous modifiez le
ancestortype code> vers
contextmenu code> et lier à son
placementtarget code>, il devrait fonctionner: p> < Pré> xxx pré> blockQuote>