Skip to content

Commit d07fbb7

Browse files
committed
wpf: 更新Stylet的服务容器启动器
1 parent 30b257f commit d07fbb7

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

src/OSharp.Wpf/Stylet/ServiceProviderBootstrapper.cs

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
namespace OSharp.Wpf.Stylet;
1111

12-
public class ServiceProviderBootstrapper<TRootViewModel> : BootstrapperBase where TRootViewModel : class
12+
public abstract class ServiceProviderBootstrapper<TRootViewModel> : BootstrapperBase where TRootViewModel : class
1313
{
1414
private object _rootViewModel;
1515

@@ -44,10 +44,14 @@ protected virtual void DefaultConfigureIoC(IServiceCollection services)
4444
ViewFactory = this.GetInstance,
4545
ViewAssemblies = new List<Assembly>() { GetType().Assembly }
4646
};
47-
services.AddSingleton<IViewManager>(new ViewManager(viewManagerConfig));
4847

48+
services.AddSingleton<ViewManagerConfig>(viewManagerConfig);
49+
services.AddSingleton<IViewManager, ViewManager>();
4950
services.AddSingleton<IWindowManagerConfig>(this);
50-
services.AddSingleton<IWindowManager>(p => new WindowManager(p.GetService<IViewManager>(), p.GetService<IMessageBoxViewModel>, this));
51+
services.AddSingleton<IWindowManager>(p => new WindowManager(
52+
p.GetRequiredService<IViewManager>(),
53+
p.GetRequiredService<IMessageBoxViewModel>,
54+
p.GetRequiredService<IWindowManagerConfig>()));
5155
services.AddSingleton<IEventAggregator, EventAggregator>();
5256
services.AddTransient<IMessageBoxViewModel, MessageBoxViewModel>();
5357
services.AddTransient<MessageBoxView>();

0 commit comments

Comments
 (0)