Fluxor 与 WPF

问题描述 投票:0回答:1

我有一个已转换为 .NET 8 的旧版 WPF 应用程序。一切都运行良好,但应用程序中的单例除外,它无法轻松传输到 Blazor 服务器应用程序。我能够使用预先存在的库启动 Blazor 应用程序,并利用 Fluxor 来管理状态。这效果很好。

但是,在WPF应用程序中,我无法让Fluxor注入IState之类的东西。它在构造函数中始终为 null。 Blazor Server 和 WPF 应用程序现在都需要使用相同的 Fluxor State 管理。

在我的 WPF App.xaml.cs 中:

var coll = new ServiceCollection();

coll.AddFluxor(o => o.ScanAssemblies(typeof(ModelState).Assembly));

var store = (IStore)ServiceCollectionExtension.Resolve(coll, typeof(Store));            
store.InitializeAsync().Wait();

coll.AddScoped();



public class PricingService : IPricingService
{
public PricingService(IDispatcher dispatcher, IState<PricingState> pricingState...
     _dispatcher = dispatcher;
     _pricingState = pricingState;

pricingState 始终为 null,因为我无法使用正常的 Microsoft.Extensions.DependencyInjection.ServiceCollection 注册我的 IState

注意,IDispatcher 似乎注入得很好。

wpf fluxor
1个回答
0
投票

按照此操作,https://learn.microsoft.com/en-us/aspnet/core/blazor/hybrid/tutorials/wpf?view=aspnetcore-8.0

然后,您可以将 Fluxor.Web.Blazor.StoreInitializer 嵌入到 WPF 中的 razor 组件中。

© www.soinside.com 2019 - 2024. All rights reserved.