Estamos migrando nuestra aplicación WPF a .NET 5.
Hoy enfrentamos algunos problemas con la biblioteca de Galasoft llamada MVVMLight . Vimos que no hay actualizaciones para .NET Standard. No podemos usar una clase EventToCommand .
¿Sabes qué opciones podríamos gestionar?
Los paquetes regulares de MVVMLight y MVVMLightLibs NuGet son incompatibles con .NET 5, solo son compatibles con .NET Framwork y algunas otras plataformas. Sin embargo, hay paquetes dedicados para .NET Standard 1.0 que también funcionarán para .NET 5.
Puede leer más sobre estas versiones en la página web oficial de MVVMLight aquí . Tenga en cuenta que esta versión no es compatible con la interfaz IServiceProvider .
Una interfaz en particular, IServiceProvider, que usa el componente SimpleIoc, no está disponible en .NET Standard 1.0. [...] la clase ServiceLocator ya no está disponible.
Esto afecta a SimpleIoC, que debe obtener a través del miembro estático SimpleIoc.Default .
// OLD var nav = ServiceLocator.Current.GetInstance<INavigationService>(); // NEW var nav = SimpleIoc.Default.GetInstance<INavigationService>(); Una alternativa es usar XamlBehaviors para WPF si está buscando un reemplazo para EventToCommand . Esta es una biblioteca de Microsoft que reemplaza los comportamientos heredados de Blend.
Puede instalar el paquete NuGet Microsoft.Xaml.Behaviors.Wpf , que es compatible con .NET Framework, .NET Core y .NET 5. El equivalente a EventToCommand es InvokeCommandAction .