9

Silverlight 4 a un nouveau contrôle ContextMenu dans le latest toolkit.Comment ajouter Silverlight 4 ContextMenu à une ligne DataGrid en utilisant XAML?

Je ne trouve aucun exemple où que ce soit sur comment utiliser de manière fiable ce ContextMenu sur une rangée DataGrid. Theres une tonne de menus contextuels là-bas, mais Je veux utiliser la nouvelle version de la boîte à outils. Je voudrais être en mesure de définir des menus contextuels pour lignes ainsi que des cellules.

La seule façon que j'ai trouvé est de créer manuellement le menu sur le clic droit et l'afficher, mais je voudrais le faire en XAML.

Remarque: Vous devez actuellement utiliser this workaround pour éviter les problèmes de liaison lors de l'utilisation de ContextMenu en XAML pour une cellule DataGrid.

+0

Si vous avez une réponse à cette question, auriez-vous besoin d'une réponse à cette autre question? Si vous avez une réponse à cette question, auriez-vous besoin d'une réponse à celle-ci? Il me semble que ces deux questions sont les mêmes, puisqu'il y a plus de détails dans l'autre je voterai pour fermer celui-ci et essayer de vous aider dans l'autre. – AnthonyWJones

+0

duplicata possible de http://stackoverflow.com/questions/2776870/xaml-contextmenu-gets-bound-to-wrong-row-in-a-datagrid – AnthonyWJones

+0

@anthonywjones - je me rends compte qu'ils sont très proches, mais je pense Quelqu'un cherchant à faire la tâche basique d'ajouter un contextmenu à une ligne ou une colonne de DataGrid serait plus susceptible de trébucher sur cette question. ils ne seraient pas dérangés par le problème que j'avais (ou même savoir à ce sujet) - ils voulaient juste une solution. –

Répondre

6

Le développeur de ContextMenu de la boîte à outils a écrit cet article, parler spécifiquement de l'utiliser avec un DataGrid Delay's Blog

0

Vous pouvez utiliser cette open source menu à plusieurs niveaux et le menu contextuel comme une alternative:

www.sl4popupmenu.codeplex.com

La démo sur la page principale montre comment le faire dans le code. Mais vous pouvez également créer le menu n'importe où dans votre XAML comme n'importe quel autre contrôle, puis l'associer au Datagrid en utilisant la propriété RightClickElements. Le contrôle va alors gérer tout le reste pour vous.