using System; using Avalonia; using Avalonia.Controls.ApplicationLifetimes; using Avalonia.Data.Core.Plugins; using System.Linq; using Avalonia.Markup.Xaml; using Microsoft.Extensions.DependencyInjection; using Policlinica.ViewModels; using Policlinica.Views; namespace Policlinica; public partial class App : Application { private readonly IServiceProvider _serviceProvider; public App(IServiceProvider serviceProvider) { _serviceProvider = serviceProvider; } public override void Initialize() { AvaloniaXamlLoader.Load(this); } public override void OnFrameworkInitializationCompleted() { if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop) { DisableAvaloniaDataAnnotationValidation(); var vm = _serviceProvider.GetRequiredService(); var win = _serviceProvider.GetRequiredService(); win.DataContext = vm; desktop.MainWindow = win; } base.OnFrameworkInitializationCompleted(); } private void DisableAvaloniaDataAnnotationValidation() { var dataValidationPluginsToRemove = BindingPlugins.DataValidators.OfType().ToArray(); foreach (var plugin in dataValidationPluginsToRemove) { BindingPlugins.DataValidators.Remove(plugin); } } }