diff options
| author | 魏曹先生 <1992414357@qq.com> | 2026-06-17 21:33:40 +0800 |
|---|---|---|
| committer | 魏曹先生 <1992414357@qq.com> | 2026-06-17 21:57:13 +0800 |
| commit | ad0943f88ba9f5ed6eae198ecb4835c0f44701de (patch) | |
| tree | 6a8eb1fee42e7ee173e74788dafeb27c52429683 /rola-desktop/App.axaml.cs | |
chore: initialize project structure and add core modules
Diffstat (limited to 'rola-desktop/App.axaml.cs')
| -rw-r--r-- | rola-desktop/App.axaml.cs | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/rola-desktop/App.axaml.cs b/rola-desktop/App.axaml.cs new file mode 100644 index 0000000..6b665bc --- /dev/null +++ b/rola-desktop/App.axaml.cs @@ -0,0 +1,47 @@ +using Avalonia; +using Avalonia.Controls.ApplicationLifetimes; +using Avalonia.Data.Core; +using Avalonia.Data.Core.Plugins; +using System.Linq; +using Avalonia.Markup.Xaml; +using rola_desktop.ViewModels; +using rola_desktop.Views; + +namespace rola_desktop; + +public partial class App : Application +{ + public override void Initialize() + { + AvaloniaXamlLoader.Load(this); + } + + public override void OnFrameworkInitializationCompleted() + { + if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop) + { + // Avoid duplicate validations from both Avalonia and the CommunityToolkit. + // More info: https://docs.avaloniaui.net/docs/guides/development-guides/data-validation#manage-validationplugins + DisableAvaloniaDataAnnotationValidation(); + desktop.MainWindow = new MainWindow + { + DataContext = new MainWindowViewModel(), + }; + } + + base.OnFrameworkInitializationCompleted(); + } + + private void DisableAvaloniaDataAnnotationValidation() + { + // Get an array of plugins to remove + var dataValidationPluginsToRemove = + BindingPlugins.DataValidators.OfType<DataAnnotationsValidationPlugin>().ToArray(); + + // remove each entry found + foreach (var plugin in dataValidationPluginsToRemove) + { + BindingPlugins.DataValidators.Remove(plugin); + } + } +}
\ No newline at end of file |
