簡體   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