diff --git a/ModpackUpdater.Apps.Client.Gui/App.axaml b/ModpackUpdater.Apps.Client.Gui/App.axaml index 08720a6..dcd8b1c 100644 --- a/ModpackUpdater.Apps.Client.Gui/App.axaml +++ b/ModpackUpdater.Apps.Client.Gui/App.axaml @@ -1,11 +1,11 @@ - + xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" + x:Class="ModpackUpdater.Apps.Client.Gui.App" + RequestedThemeVariant="Default"> + - + \ No newline at end of file diff --git a/ModpackUpdater.Apps.Client.Gui/App.axaml.cs b/ModpackUpdater.Apps.Client.Gui/App.axaml.cs index 49080d1..111c3e4 100644 --- a/ModpackUpdater.Apps.Client.Gui/App.axaml.cs +++ b/ModpackUpdater.Apps.Client.Gui/App.axaml.cs @@ -1,5 +1,6 @@ using Avalonia; using Avalonia.Controls.ApplicationLifetimes; +using Avalonia.Data.Core.Plugins; using Avalonia.Markup.Xaml; namespace ModpackUpdater.Apps.Client.Gui; @@ -15,7 +16,26 @@ public partial class App : Application public override void OnFrameworkInitializationCompleted() { if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop) - desktop.MainWindow = new MainForm(); + { + DisableAvaloniaDataAnnotationValidation(); + desktop.MainWindow = new MainView + { + DataContext = new MainViewModel(), + }; + } base.OnFrameworkInitializationCompleted(); } + + private void DisableAvaloniaDataAnnotationValidation() + { + // Get an array of plugins to remove + var dataValidationPluginsToRemove = + BindingPlugins.DataValidators.OfType().ToArray(); + + // remove each entry found + foreach (var plugin in dataValidationPluginsToRemove) + { + BindingPlugins.DataValidators.Remove(plugin); + } + } } \ No newline at end of file diff --git a/ModpackUpdater.Apps.Client.Gui/MainForm.axaml b/ModpackUpdater.Apps.Client.Gui/MainView.axaml similarity index 61% rename from ModpackUpdater.Apps.Client.Gui/MainForm.axaml rename to ModpackUpdater.Apps.Client.Gui/MainView.axaml index 8891503..75e37b5 100644 --- a/ModpackUpdater.Apps.Client.Gui/MainForm.axaml +++ b/ModpackUpdater.Apps.Client.Gui/MainView.axaml @@ -4,16 +4,23 @@ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:lang="clr-namespace:ModpackUpdater.Apps.Client.Gui.LangRes" xmlns:pilz="https://git.pilzinsel64.de/pilz-framework/pilz" + xmlns:gui="clr-namespace:ModpackUpdater.Apps.Client.Gui" xmlns:symbols="clr-namespace:Pilz.UI.Symbols;assembly=Pilz.UI" mc:Ignorable="d" - x:Class="ModpackUpdater.Apps.Client.Gui.MainForm" + x:Class="ModpackUpdater.Apps.Client.Gui.MainView" + x:DataType="gui:MainViewModel" + x:Name="window" Width="520" SizeToContent="Height" WindowStartupLocation="CenterScreen" CanMaximize="false" Title="Minecraft Modpack Updater" Icon="/Assets/app.ico" - Loaded="MainForm_Loaded"> + Loaded="Control_OnLoaded"> + + + + + + + + + + + @@ -31,11 +45,11 @@