diff --git a/MultiTerm.Core/MultiTerm.Core.csproj b/MultiTerm.Core/MultiTerm.Core.csproj
index 132c02c..bbdbfe7 100644
--- a/MultiTerm.Core/MultiTerm.Core.csproj
+++ b/MultiTerm.Core/MultiTerm.Core.csproj
@@ -6,4 +6,13 @@
enable
+
+
+
+
+
+
+
+
+
diff --git a/MultiTerm.Wpf/App.xaml b/MultiTerm.Wpf/App.xaml
index cd1b7e6..ddaf73e 100644
--- a/MultiTerm.Wpf/App.xaml
+++ b/MultiTerm.Wpf/App.xaml
@@ -1,8 +1,7 @@
+ xmlns:local="clr-namespace:MultiTerm.Wpf">
diff --git a/MultiTerm.Wpf/App.xaml.cs b/MultiTerm.Wpf/App.xaml.cs
index 6fb9eb4..02639f0 100644
--- a/MultiTerm.Wpf/App.xaml.cs
+++ b/MultiTerm.Wpf/App.xaml.cs
@@ -1,17 +1,42 @@
-using System;
-using System.Collections.Generic;
-using System.Configuration;
-using System.Data;
-using System.Linq;
-using System.Threading.Tasks;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.Hosting;
using System.Windows;
-namespace MultiTerm.Wpf
+namespace MultiTerm.Wpf;
+
+public partial class App : Application
{
- ///
- /// Interaction logic for App.xaml
- ///
- public partial class App : Application
+ public static IHost? AppHost { get; private set; }
+
+ public App()
+ {
+ // create dependency injection host
+ AppHost = Host.CreateDefaultBuilder()
+ .ConfigureServices((hostContext, services) =>
+ {
+ services.AddSingleton();
+
+ // viewmodels
+ //services.AddTransient();
+ })
+ .Build();
+ }
+
+ protected override async void OnStartup(StartupEventArgs e)
{
+ await AppHost!.StartAsync();
+
+ // instanciate startup form and show
+ var startupForm = AppHost.Services.GetRequiredService();
+ startupForm.Show();
+
+ base.OnStartup(e);
+ }
+
+ protected override async void OnExit(ExitEventArgs e)
+ {
+ await AppHost!.StopAsync();
+ base.OnExit(e);
}
+
}
diff --git a/MultiTerm.Wpf/MainWindow.xaml.cs b/MultiTerm.Wpf/MainWindow.xaml.cs
index 7eb43c1..7ce2d9a 100644
--- a/MultiTerm.Wpf/MainWindow.xaml.cs
+++ b/MultiTerm.Wpf/MainWindow.xaml.cs
@@ -1,28 +1,11 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using System.Windows;
-using System.Windows.Controls;
-using System.Windows.Data;
-using System.Windows.Documents;
-using System.Windows.Input;
-using System.Windows.Media;
-using System.Windows.Media.Imaging;
-using System.Windows.Navigation;
-using System.Windows.Shapes;
+using System.Windows;
-namespace MultiTerm.Wpf
+namespace MultiTerm.Wpf;
+
+public partial class MainWindow : Window
{
- ///
- /// Interaction logic for MainWindow.xaml
- ///
- public partial class MainWindow : Window
+ public MainWindow()
{
- public MainWindow()
- {
- InitializeComponent();
- }
+ InitializeComponent();
}
}
diff --git a/MultiTerm.Wpf/MultiTerm.Wpf.csproj b/MultiTerm.Wpf/MultiTerm.Wpf.csproj
index 4106cb0..5be450a 100644
--- a/MultiTerm.Wpf/MultiTerm.Wpf.csproj
+++ b/MultiTerm.Wpf/MultiTerm.Wpf.csproj
@@ -7,4 +7,13 @@
true
+
+
+
+
+
+
+
+
+