diff --git a/Project_Periodensystem.Controller/Project_Periodensystem.Controller.csproj b/Project_Periodensystem.Controller/Project_Periodensystem.Controller.csproj
index b66d3a2..566ae43 100644
--- a/Project_Periodensystem.Controller/Project_Periodensystem.Controller.csproj
+++ b/Project_Periodensystem.Controller/Project_Periodensystem.Controller.csproj
@@ -6,7 +6,7 @@
- net9.0
+ net8.0
enable
enable
diff --git a/Project_Periodensystem.Model/Project_Periodensystem.Model.csproj b/Project_Periodensystem.Model/Project_Periodensystem.Model.csproj
index 125f4c9..fa71b7a 100644
--- a/Project_Periodensystem.Model/Project_Periodensystem.Model.csproj
+++ b/Project_Periodensystem.Model/Project_Periodensystem.Model.csproj
@@ -1,7 +1,7 @@
- net9.0
+ net8.0
enable
enable
diff --git a/Project_Periodensystem.Persistence/Project_Periodensystem.Persistence.csproj b/Project_Periodensystem.Persistence/Project_Periodensystem.Persistence.csproj
index d11543f..631b156 100644
--- a/Project_Periodensystem.Persistence/Project_Periodensystem.Persistence.csproj
+++ b/Project_Periodensystem.Persistence/Project_Periodensystem.Persistence.csproj
@@ -2,7 +2,7 @@
- net9.0
+ net8.0
enable
diff --git a/Project_Periodensystem.View/AboutPage.axaml b/Project_Periodensystem.View/AboutPage.axaml
new file mode 100644
index 0000000..73c9f0a
--- /dev/null
+++ b/Project_Periodensystem.View/AboutPage.axaml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Project_Periodensystem.View/AboutPage.axaml.cs b/Project_Periodensystem.View/AboutPage.axaml.cs
new file mode 100644
index 0000000..5ae8acc
--- /dev/null
+++ b/Project_Periodensystem.View/AboutPage.axaml.cs
@@ -0,0 +1,27 @@
+using Avalonia.Controls;
+using Avalonia.Interactivity;
+using Avalonia.Markup.Xaml;
+using Avalonia.VisualTree;
+
+namespace Project_Periodensystem.View
+{
+ public partial class AboutPage : UserControl
+ {
+ public AboutPage()
+ {
+ InitializeComponent();
+ }
+
+ private void InitializeComponent()
+ => AvaloniaXamlLoader.Load(this);
+
+ private void BackButton_Click(object sender, RoutedEventArgs e)
+ {
+ var window = this.GetVisualRoot() as MainWindow;
+ if (window != null)
+ {
+ window.ShowLanding();
+ }
+ }
+ }
+}
diff --git a/Project_Periodensystem.View/App.axaml b/Project_Periodensystem.View/App.axaml
index 2020807..09e0eda 100644
--- a/Project_Periodensystem.View/App.axaml
+++ b/Project_Periodensystem.View/App.axaml
@@ -1,7 +1,6 @@
+ x:Class="Project_Periodensystem.View.App">
diff --git a/Project_Periodensystem.View/App.axaml.cs b/Project_Periodensystem.View/App.axaml.cs
index c31d742..1b535e1 100644
--- a/Project_Periodensystem.View/App.axaml.cs
+++ b/Project_Periodensystem.View/App.axaml.cs
@@ -7,12 +7,16 @@ namespace Project_Periodensystem.View
public partial class App : Application
{
public override void Initialize()
- => AvaloniaXamlLoader.Load(this);
+ {
+ AvaloniaXamlLoader.Load(this);
+ }
public override void OnFrameworkInitializationCompleted()
{
if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)
+ {
desktop.MainWindow = new MainWindow();
+ }
base.OnFrameworkInitializationCompleted();
}
diff --git a/Project_Periodensystem.View/LandingPage.axaml b/Project_Periodensystem.View/LandingPage.axaml
new file mode 100644
index 0000000..8de217f
--- /dev/null
+++ b/Project_Periodensystem.View/LandingPage.axaml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
diff --git a/Project_Periodensystem.View/LandingPage.axaml.cs b/Project_Periodensystem.View/LandingPage.axaml.cs
new file mode 100644
index 0000000..d16c698
--- /dev/null
+++ b/Project_Periodensystem.View/LandingPage.axaml.cs
@@ -0,0 +1,29 @@
+using Avalonia.Controls;
+using Avalonia.Interactivity;
+using Avalonia.Markup.Xaml;
+using Avalonia.VisualTree;
+
+namespace Project_Periodensystem.View
+{
+ public partial class LandingPage : UserControl
+ {
+ public LandingPage()
+ {
+ InitializeComponent();
+ }
+
+ private void InitializeComponent()
+ {
+ AvaloniaXamlLoader.Load(this);
+ }
+
+ private void StartButton_Click(object sender, RoutedEventArgs e)
+ {
+ var window = this.GetVisualRoot() as MainWindow;
+ if (window != null)
+ {
+ window.ShowPeriodicTable();
+ }
+ }
+ }
+}
diff --git a/Project_Periodensystem.View/MainWindow.axaml b/Project_Periodensystem.View/MainWindow.axaml
index 17e0836..38b22eb 100644
--- a/Project_Periodensystem.View/MainWindow.axaml
+++ b/Project_Periodensystem.View/MainWindow.axaml
@@ -1,23 +1,9 @@
-
-
-
-
-
-
-
-
-
-
+ Width="900" Height="650">
+
+
+
diff --git a/Project_Periodensystem.View/MainWindow.axaml.cs b/Project_Periodensystem.View/MainWindow.axaml.cs
index a1eeb4d..f7a13dd 100644
--- a/Project_Periodensystem.View/MainWindow.axaml.cs
+++ b/Project_Periodensystem.View/MainWindow.axaml.cs
@@ -1,46 +1,41 @@
using Avalonia.Controls;
using Avalonia.Markup.Xaml;
-using Project_Periodensystem.Controller;
-using Project_Periodensystem.View.Components;
namespace Project_Periodensystem.View
{
public partial class MainWindow : Window
{
- private readonly PeriodensystemController _controller;
+ private readonly ContentControl mainContent;
public MainWindow()
{
InitializeComponent();
- _controller = new PeriodensystemController();
- DataContext = _controller;
- PopulateCanvas();
+ var content = this.Find("MainContent");
+ if (content == null)
+ throw new System.Exception("MainContent control not found.");
+
+ mainContent = content;
+ ShowLanding(); // Show initial page
}
private void InitializeComponent()
- => AvaloniaXamlLoader.Load(this);
-
- private void PopulateCanvas()
{
- // Holt den Canvas aus dem XAML (muss existieren!)
- var canvas = this.FindControl