1+ using Avalonia ;
2+ using Avalonia . Controls . ApplicationLifetimes ;
3+ using Avalonia . Data . Core ;
4+ using Avalonia . Data . Core . Plugins ;
5+ using System . Linq ;
6+ using Avalonia . Markup . Xaml ;
7+ using Client . Avalonia . ViewModels ;
8+ using Client . Avalonia . Views ;
9+
10+ namespace Client . Avalonia ;
11+
12+ public partial class App : Application
13+ {
14+ public override void Initialize ( )
15+ {
16+ AvaloniaXamlLoader . Load ( this ) ;
17+ }
18+
19+ public override void OnFrameworkInitializationCompleted ( )
20+ {
21+ if ( ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop )
22+ {
23+ // Avoid duplicate validations from both Avalonia and the CommunityToolkit.
24+ // More info: https://docs.avaloniaui.net/docs/guides/development-guides/data-validation#manage-validationplugins
25+ DisableAvaloniaDataAnnotationValidation ( ) ;
26+ desktop . MainWindow = new MainWindow
27+ {
28+ DataContext = new MainWindowViewModel ( ) ,
29+ } ;
30+ }
31+
32+ base . OnFrameworkInitializationCompleted ( ) ;
33+ }
34+
35+ private void DisableAvaloniaDataAnnotationValidation ( )
36+ {
37+ // Get an array of plugins to remove
38+ var dataValidationPluginsToRemove =
39+ BindingPlugins . DataValidators . OfType < DataAnnotationsValidationPlugin > ( ) . ToArray ( ) ;
40+
41+ // remove each entry found
42+ foreach ( var plugin in dataValidationPluginsToRemove )
43+ {
44+ BindingPlugins . DataValidators . Remove ( plugin ) ;
45+ }
46+ }
47+ }
0 commit comments