43 votes

Visual Studio 2017 - Qu'est-il arrivé aux interactions Expression?

- Je faire un large usage de l'Expression des interactions CallMethodAction pour gérer les événements de XAML dans un MVVM de manière conviviale.

Je viens de créer un nouveau projet WPF en VS2017 et maintenant, je vois la vieille Expression de l'espace de noms est allé. J'ai trouvé cette page sur le site MSDN qui est l'action que je suis en train de regarder pour, mais après le référencement d'assemblage et de l'ajout de l'espace de noms, il ne contient pas le CallMethodAction. Cette page est pour Silverlight et c'est WPF, donc je suis préoccupé par le fait que l'action n'est plus disponible.

Donc personne ne sait si il a en effet été supprimé/remplacé? Comment est-on censé appeler les gestionnaires d'événements dans le viewmodel maintenant?

(Je ne sais à propos de InvokeCommandAction, mais je préfère CallMethodAction depuis relaie l'événement d'origine arguments, et permet l'annulation d'événements d'aperçu.)

Edit: Juste pour aller de l'avant, j'ai essayé InvokeCommandAction mais il ne fonctionne plus de la même façon non plus et je ne trouve aucune documentation sur l'utilisation de nouveaux.

J'ai trouvé cette référence sur le site MSDN de Microsoft.Xaml.Les Interactions de l'espace de noms qui semble contenir les classes dont j'ai besoin, mais que l'assemblée ne semble pas exister.

J'ai l'impression de rater quelque chose d'évident. Je ne vois pas comment ils pourraient faire une rupture de changer pour quelque chose d'aussi fondamental que de répondre à des événements.

89voto

nmarler Points 1068

Utilisez le programme d'installation de Visual Studio 2017 pour installer "Blend for Visual Studio SDK pour .NET", que vous trouverez sur la page "Composants individuels", dans la rubrique "SDK, bibliothèques et frameworks".

12voto

mm8 Points 85107

CallMethodAction est défini dans Microsoft.Expressions.Interactions.dll. Cette assemblée n'est pas de la partie .NET Framework, mais vous pouvez le télécharger à l'aide de NuGet: https://www.nuget.org/packages/MicrosoftExpressionInteractions/

Et l' InvokeCommandAction classe est définie dans System.Windows.Interactivity.dll assemblée: https://www.nuget.org/packages/System.Windows.Interactivity.WPF/

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X