Files

42 lines
1.3 KiB
C#
Raw Permalink Normal View History

2026-04-04 13:30:13 +02:00
using Avalonia;
using Avalonia.Controls.ApplicationLifetimes;
using Avalonia.Data.Core;
using Avalonia.Data.Core.Plugins;
using Avalonia.Markup.Xaml;
using AvaloniaLoggingNoDI.Views;
2026-04-04 15:36:30 +02:00
using System.Linq;
2026-04-04 13:30:13 +02:00
namespace AvaloniaLoggingNoDI;
public partial class App : Application
{
public override void Initialize()
{
AvaloniaXamlLoader.Load(this);
}
public override void OnFrameworkInitializationCompleted()
{
if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)
{
2026-04-04 15:36:30 +02:00
// 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();
2026-04-04 13:30:13 +02:00
}
base.OnFrameworkInitializationCompleted();
}
2026-04-04 15:36:30 +02:00
private static 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);
}
}
2026-04-04 13:30:13 +02:00
}