繁体   English   中英

.NET Framework 4.7 到 .NET 5 迁移与 Galasoft MVVMLight 库

[英].NET Framework 4.7 to .NET 5 Migration with Galasoft MVVMLight Library

我们正在将 WPF 应用程序迁移到 .NET 5。

今天我们遇到了一些名为 MVVMLight 的 Galasoft 库的问题。 我们看到 .NET Standard 没有更新。 我们不能使用 ae EventToCommand类。

您知道我们可以管理哪些选项吗?

常规的MVVMLightMVVMLightLibs NuGet 包与 .NET 5 不兼容,它们仅与 .NET Framwork 和一些其他平台兼容。 但是,有一些适用于 .NET Standard 1.0 的专用软件包也适用于 .NET 5。

您可以在此处的官方 MVVMLight 网页上阅读有关这些版本的更多信息。 请注意,此版本不支持IServiceProvider接口。

SimpleIoc 组件使用的一个特定接口 IServiceProvider 在 .NET Standard 1.0 中不可用。 [...] ServiceLocator 类不再可用。

这会影响 SimpleIoC,您必须通过静态SimpleIoc.Default成员来代替。

// OLD var nav = ServiceLocator.Current.GetInstance<INavigationService>();
// NEW
var nav = SimpleIoc.Default.GetInstance<INavigationService>();

如果您正在搜索EventToCommand的替换,另一种方法是使用WPFEventToCommand 这是 Microsoft 的一个库,用于替换旧的 Blend 行为。

您可以安装 NuGet 包Microsoft.Xaml.Behaviors.Wpf ,它与 .NET Framework、.NET Core 和 .NET 5 兼容。与EventToCommand等效的是InvokeCommandAction

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM