Visual Studio 2017 - ¿Qué pasó con las interacciones de expresión?


Hago un uso extensivo de CallMethodAction de Expression interactions para manejar eventos de XAML de una manera amigable con MVVM.

Acabo de crear un nuevo proyecto WPF en VS2017 y ahora veo que el antiguo espacio de nombres de expresión se ha ido. Encontré esta página en MSDN que es la acción que estoy buscando, pero después de hacer referencia a ese ensamblaje y agregar el espacio de nombres, no contiene la CallMethodAction. Esa página es para Silverlight y esta es WPF, así que me preocupa que la acción no más largo disponible.

Entonces, ¿alguien sabe si de hecho ha sido eliminado/reemplazado? ¿Cómo se supone que se debe llamar a los controladores de eventos en viewmodel ahora?

(Sé sobre InvokeCommandAction, pero prefiero CallMethodAction ya que transmite los argumentos de evento originales y permite cancelar eventos de vista previa.)

Edit : Solo para avanzar intenté InvokeCommandAction pero ya no funciona de la misma manera y no puedo encontrar ninguna documentación sobre el nuevo uso.

Encontré esta referencia en MSDN para Microsoft.XAML.Interacciones espacio de nombres que parece contener las clases que necesito, pero ese ensamblado no parece existir.

Siento que me estoy perdiendo algo obvio aquí. No veo cómo podrían hacer un cambio radical en algo tan básico como responder a los eventos.

Author: amnesia, 2017-03-27

2 answers

Use el instalador de Visual Studio 2017 para instalar "Blend for Visual Studio SDK for.NET", que puede encontrar en la página "Componentes individuales", bajo el encabezado "SDK, bibliotecas y frameworks".

 57
Author: nmarler,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-10 01:21:41

CallMethodAction se define en Microsoft.Expresiones.Interacción.DLL. Este ensamblado no es parte de. NET Framework pero puede descargarlo usando NuGet: https://www.nuget.org/packages/MicrosoftExpressionInteractions /

Y la clase InvokeCommandAction se define en System.Windows.Interactividad.asamblea dll: https://www.nuget.org/packages/System.Windows.Interactivity.WPF /

 7
Author: mm8,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-03-27 14:18:24