using System; using Avalonia; using Avalonia.Controls.ApplicationLifetimes; using Avalonia.Data.Core; using Avalonia.Data.Core.Plugins; using System.Linq; using Avalonia.Markup.Xaml; using AvaloniaApplication14_Inventory_300326.ViewModels; using AvaloniaApplication14_Inventory_300326.Views; using Microsoft.Extensions.DependencyInjection; namespace AvaloniaApplication14_Inventory_300326; public partial class App : Application { private IServiceProvider _serviceProvider; public App(IServiceProvider serviceProvider) { _serviceProvider = serviceProvider; } 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(); var win = _serviceProvider.GetService(); desktop.MainWindow = win; } 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); } } }