2019-01-26 13:40:16 +01:00

44 lines
1.5 KiB
C#

using System.Windows;
using DryIoc;
using MaterialModernWPF.Module;
using MaterialModernWPF.Service;
using MaterialModernWPF.View;
using Prism.Ioc;
using Prism.Modularity;
namespace MaterialModernWPF
{
/// <summary>
/// Interaktionslogik für "App.xaml"
/// </summary>
public partial class App
{
protected override Rules CreateContainerRules()
{
return Rules.Default.WithAutoConcreteTypeResolution()
.With(Made.Of(FactoryMethod.ConstructorWithResolvableArguments))
.WithDefaultIfAlreadyRegistered(IfAlreadyRegistered.AppendNotKeyed);
}
protected override void RegisterTypes(IContainerRegistry containerRegistry)
{
containerRegistry.Register<ShellViewModel>();
containerRegistry.Register<Shell>();
containerRegistry.RegisterSingleton<CalculationPackageContainer>();
containerRegistry.RegisterSingleton<Package, DetailedGeometryPackage>();
containerRegistry.RegisterSingleton<Package, AdditionalMoments>();
containerRegistry.RegisterForNavigation<DetailedGeometryView>();
}
protected override Window CreateShell()
{
return Container.Resolve<Shell>();
}
protected override void ConfigureModuleCatalog(IModuleCatalog moduleCatalog)
{
moduleCatalog.AddModule(typeof(MainModule));
base.ConfigureModuleCatalog(moduleCatalog);
}
}
}