diff --git a/Toolkit.Avalonia/ContentControlHandler.cs b/Toolkit.Avalonia/ContentControlHandler.cs index b14046f..6a2aa0c 100644 --- a/Toolkit.Avalonia/ContentControlHandler.cs +++ b/Toolkit.Avalonia/ContentControlHandler.cs @@ -21,7 +21,7 @@ public class ContentControlHandler : { if (content is IActivated activated) { - await activated.OnActivated(); + await activated.Activated(); } } @@ -35,7 +35,7 @@ public class ContentControlHandler : { if (content is IDeactivated deactivated) { - await deactivated.OnDeactivated(); + await deactivated.Deactivated(); } if (content is IDisposable disposable) diff --git a/Toolkit.Avalonia/ContentDialogHandler.cs b/Toolkit.Avalonia/ContentDialogHandler.cs index 8eafbb2..1c34ade 100644 --- a/Toolkit.Avalonia/ContentDialogHandler.cs +++ b/Toolkit.Avalonia/ContentDialogHandler.cs @@ -81,7 +81,7 @@ public class ContentDialogHandler(IDispatcher dispatcher) : { if (content is IDeactivating deactivating) { - await deactivating.OnDeactivating(); + await deactivating.Deactivating(); } } } @@ -96,7 +96,7 @@ public class ContentDialogHandler(IDispatcher dispatcher) : { if (content is IActivated activated) { - await activated.OnActivated(); + await activated.Activated(); } } } @@ -109,7 +109,7 @@ public class ContentDialogHandler(IDispatcher dispatcher) : { if (content is IDeactivated deactivated) { - await deactivated.OnDeactivated(); + await deactivated.Deactivated(); } } } diff --git a/Toolkit.Avalonia/ContentTemplate.cs b/Toolkit.Avalonia/ContentTemplate.cs index b7f3c4a..5c520c1 100644 --- a/Toolkit.Avalonia/ContentTemplate.cs +++ b/Toolkit.Avalonia/ContentTemplate.cs @@ -29,7 +29,7 @@ public class ContentTemplate : { if (content is IActivated activated) { - await activated.OnActivated(); + await activated.Activated(); } } } @@ -41,7 +41,7 @@ public class ContentTemplate : { if (content is IDeactivated deactivated) { - await deactivated.OnDeactivated(); + await deactivated.Deactivated(); } } } diff --git a/Toolkit.Avalonia/FrameHandler.cs b/Toolkit.Avalonia/FrameHandler.cs index 33497cb..6d9a83a 100644 --- a/Toolkit.Avalonia/FrameHandler.cs +++ b/Toolkit.Avalonia/FrameHandler.cs @@ -37,7 +37,7 @@ public class FrameHandler : { if (content is IDeactivated deactivated) { - await deactivated.OnDeactivated(); + await deactivated.Deactivated(); } if (content is not IKeepAlive) @@ -63,7 +63,7 @@ public class FrameHandler : { if (content is IDeactivating deactivating) { - await deactivating.OnDeactivating(); + await deactivating.Deactivating(); } } } @@ -74,7 +74,7 @@ public class FrameHandler : { if (content is IActivated activated) { - await activated.OnActivated(); + await activated.Activated(); } } @@ -89,7 +89,7 @@ public class FrameHandler : { if (content is IDeactivated deactivated) { - await deactivated.OnDeactivated(); + await deactivated.Deactivated(); } if (content is IDisposable disposable) diff --git a/Toolkit.Foundation/AppService.cs b/Toolkit.Foundation/AppService.cs index 72a551b..dd3f5e4 100644 --- a/Toolkit.Foundation/AppService.cs +++ b/Toolkit.Foundation/AppService.cs @@ -10,7 +10,7 @@ public class AppService(IEnumerable initializers, { foreach (IInitialization initializer in initializers) { - await initializer.OnInitialize(); + await initializer.Initialize(); } publisher.Publish(); diff --git a/Toolkit.Foundation/ComponentConfigurationViewModel.cs b/Toolkit.Foundation/ComponentConfigurationViewModel.cs index 45ac4f9..856456f 100644 --- a/Toolkit.Foundation/ComponentConfigurationViewModel.cs +++ b/Toolkit.Foundation/ComponentConfigurationViewModel.cs @@ -51,10 +51,10 @@ public partial class ComponentConfigurationViewModel args) @@ -93,10 +93,10 @@ public partial class ComponentConfigurationViewModel args) diff --git a/Toolkit.Foundation/ComponentHost.cs b/Toolkit.Foundation/ComponentHost.cs index 609fc68..e6cfb31 100644 --- a/Toolkit.Foundation/ComponentHost.cs +++ b/Toolkit.Foundation/ComponentHost.cs @@ -23,7 +23,7 @@ public class ComponentHost(IServiceProvider services, { foreach (IInitialization initializer in initializers) { - await initializer.OnInitialize(); + await initializer.Initialize(); } foreach (IHostedService service in hostedServices) diff --git a/Toolkit.Foundation/ComponentInitializer.cs b/Toolkit.Foundation/ComponentInitializer.cs index 37f6f2f..f5c183e 100644 --- a/Toolkit.Foundation/ComponentInitializer.cs +++ b/Toolkit.Foundation/ComponentInitializer.cs @@ -9,7 +9,7 @@ public class ComponentInitializer(IEnumerable components, IServiceProvider provider) : IInitialization { - public async Task OnInitialize() + public async Task Initialize() { foreach (IComponent component in components) { diff --git a/Toolkit.Foundation/ConfigurationInitializer.cs b/Toolkit.Foundation/ConfigurationInitializer.cs index a75cdc9..c17b03c 100644 --- a/Toolkit.Foundation/ConfigurationInitializer.cs +++ b/Toolkit.Foundation/ConfigurationInitializer.cs @@ -9,7 +9,7 @@ public class ConfigurationInitializer(IConfigurationReader { if (args is IInitialization initialization) { - initialization.OnInitialize(); + initialization.Initialize(); } }, descriptor.Key); diff --git a/Toolkit.Foundation/IActivated.cs b/Toolkit.Foundation/IActivated.cs index d335a1e..33d75d5 100644 --- a/Toolkit.Foundation/IActivated.cs +++ b/Toolkit.Foundation/IActivated.cs @@ -2,5 +2,5 @@ public interface IActivated { - Task OnActivated(); + Task Activated(); } \ No newline at end of file diff --git a/Toolkit.Foundation/IConfigurationInitializer.cs b/Toolkit.Foundation/IConfigurationInitializer.cs index b8873af..a573f89 100644 --- a/Toolkit.Foundation/IConfigurationInitializer.cs +++ b/Toolkit.Foundation/IConfigurationInitializer.cs @@ -4,5 +4,5 @@ public interface IConfigurationInitializer where TConfiguration : class { - Task OnInitialize(); + Task Initialize(); } \ No newline at end of file diff --git a/Toolkit.Foundation/IDeactivated.cs b/Toolkit.Foundation/IDeactivated.cs index 84bbeb4..f640164 100644 --- a/Toolkit.Foundation/IDeactivated.cs +++ b/Toolkit.Foundation/IDeactivated.cs @@ -2,5 +2,5 @@ public interface IDeactivated { - Task OnDeactivated(); + Task Deactivated(); } \ No newline at end of file diff --git a/Toolkit.Foundation/IDeactivating.cs b/Toolkit.Foundation/IDeactivating.cs index 4b58970..6a70c8a 100644 --- a/Toolkit.Foundation/IDeactivating.cs +++ b/Toolkit.Foundation/IDeactivating.cs @@ -2,5 +2,5 @@ public interface IDeactivating { - Task OnDeactivating(); + Task Deactivating(); } \ No newline at end of file diff --git a/Toolkit.Foundation/IInitialization.cs b/Toolkit.Foundation/IInitialization.cs index 71c8733..a5dc5f6 100644 --- a/Toolkit.Foundation/IInitialization.cs +++ b/Toolkit.Foundation/IInitialization.cs @@ -2,5 +2,5 @@ public interface IInitialization { - Task OnInitialize(); + Task Initialize(); } \ No newline at end of file diff --git a/Toolkit.Foundation/ISelectable.cs b/Toolkit.Foundation/ISelectable.cs index 3951dfd..7c484ed 100644 --- a/Toolkit.Foundation/ISelectable.cs +++ b/Toolkit.Foundation/ISelectable.cs @@ -2,5 +2,5 @@ public interface ISelectable { - bool Selected { get; set; } + bool IsSelected { get; set; } } \ No newline at end of file diff --git a/Toolkit.Foundation/IValidation.cs b/Toolkit.Foundation/IValidation.cs index 891f08f..a4d318c 100644 --- a/Toolkit.Foundation/IValidation.cs +++ b/Toolkit.Foundation/IValidation.cs @@ -6,7 +6,7 @@ namespace Toolkit.Foundation; public interface IValidation : INotifyPropertyChanged { - ValidationErrorCollection Errors { get; } + IReadOnlyDictionary Errors { get; } bool HasErrors { get; } diff --git a/Toolkit.Foundation/Observable.cs b/Toolkit.Foundation/Observable.cs index 38e0c11..6bd75c6 100644 --- a/Toolkit.Foundation/Observable.cs +++ b/Toolkit.Foundation/Observable.cs @@ -56,7 +56,7 @@ public partial class Observable(IServiceProvider provider, Disposer.Dispose(this); } - public virtual Task OnInitialize() + public virtual Task Initialize() { if (IsInitialized) { @@ -72,20 +72,20 @@ public partial class Observable(IServiceProvider provider, [ObservableProperty] private bool isActivated; - public virtual Task OnActivated() + public virtual Task Activated() { IsActivated = true; return Task.CompletedTask; } - public virtual Task OnDeactivated() + public virtual Task Deactivated() { IsActivated = false; return Task.CompletedTask; } - public virtual Task OnDeactivating() => + public virtual Task Deactivating() => Task.CompletedTask; public void Revert() diff --git a/Toolkit.Foundation/ObservableCollection.cs b/Toolkit.Foundation/ObservableCollection.cs index 28a7499..f7e027c 100644 --- a/Toolkit.Foundation/ObservableCollection.cs +++ b/Toolkit.Foundation/ObservableCollection.cs @@ -37,6 +37,7 @@ public partial class ObservableCollection : private readonly System.Collections.ObjectModel.ObservableCollection collection = []; private readonly IDispatcher dispatcher; + private readonly Queue pendingEvents = []; private readonly Dictionary trackedProperties = []; @@ -151,7 +152,7 @@ public partial class ObservableCollection : { if (args is IInitialization initialization) { - initialization.OnInitialize(); + initialization.Initialize(); } }, parameters); @@ -403,7 +404,7 @@ public partial class ObservableCollection : { if (args is IInitialization initialization) { - initialization.OnInitialize(); + initialization.Initialize(); } }, parameters); @@ -442,7 +443,7 @@ public partial class ObservableCollection : bool moveSelection = false; if (item is ISelectable oldSelection) { - if (oldSelection.Selected) + if (oldSelection.IsSelected) { moveSelection = true; SelectedItem = default; @@ -456,7 +457,7 @@ public partial class ObservableCollection : { if (item is ISelectable newSelection) { - newSelection.Selected = true; + newSelection.IsSelected = true; dispatcher.Invoke(() => SelectedItem = item); } } @@ -478,7 +479,7 @@ public partial class ObservableCollection : return true; } - public virtual Task OnActivated() + public virtual Task Activated() { IsActivated = true; while (pendingEvents.Count > 0) @@ -490,16 +491,16 @@ public partial class ObservableCollection : return Task.CompletedTask; } - public virtual Task OnDeactivated() + public virtual Task Deactivated() { IsActivated = false; return Task.CompletedTask; } - public virtual Task OnDeactivating() => + public virtual Task Deactivating() => Task.CompletedTask; - public virtual Task OnInitialize() + public virtual Task Initialize() { if (IsInitialized) { @@ -634,12 +635,12 @@ public partial class ObservableCollection : { if (oldValue is ISelectable oldSelection) { - oldSelection.Selected = false; + oldSelection.IsSelected = false; } if (newValue is ISelectable newSelection) { - newSelection.Selected = true; + newSelection.IsSelected = true; } } @@ -647,11 +648,11 @@ public partial class ObservableCollection : { if (item is ISelectable newSelection) { - if (newSelection.Selected) + if (newSelection.IsSelected) { if (SelectedItem is ISelectable oldSelection) { - oldSelection.Selected = false; + oldSelection.IsSelected = false; } dispatcher.Invoke(() => SelectedItem = item); diff --git a/Toolkit.Foundation/Validation.cs b/Toolkit.Foundation/Validation.cs index 82e9a8c..b76561f 100644 --- a/Toolkit.Foundation/Validation.cs +++ b/Toolkit.Foundation/Validation.cs @@ -8,7 +8,10 @@ public class Validation(IValidatorCollection validators) : { public event PropertyChangedEventHandler? PropertyChanged; - public ValidationErrorCollection Errors { get; } = []; + private readonly ValidationErrorCollection errors = []; + + public IReadOnlyDictionary Errors => + errors.AsReadOnly(); public bool HasErrors => Errors.Count > 0; @@ -38,7 +41,7 @@ public class Validation(IValidatorCollection validators) : { if (Errors.ContainsKey(name)) { - Errors.Remove(name); + errors.Remove(name); } if (Validators.TryGet(name, out Validator? validator)) @@ -47,7 +50,7 @@ public class Validation(IValidatorCollection validators) : { if (!validator.TryValidate(out string? message)) { - Errors[name] = message ?? ""; + errors[name] = message ?? ""; } } } @@ -60,14 +63,14 @@ public class Validation(IValidatorCollection validators) : public bool Validate() { - Errors.Clear(); + errors.Clear(); foreach (Validator? validator in Validators) { if (validator.PropertyName is string name) { if (!validator.TryValidate(out string? message)) { - Errors[name] = message ?? ""; + errors[name] = message ?? ""; } } } diff --git a/Toolkit.Foundation/ValidationErrorCollection.cs b/Toolkit.Foundation/ValidationErrorCollection.cs index 1c360db..e551093 100644 --- a/Toolkit.Foundation/ValidationErrorCollection.cs +++ b/Toolkit.Foundation/ValidationErrorCollection.cs @@ -42,7 +42,7 @@ public class ValidationErrorCollection : public string this[string key] { - get => items.ContainsKey(key) ? items[key] : ""; + get => items.TryGetValue(key, out string? value) ? value : ""; set { bool replace = items.TryGetValue(key, out var old); diff --git a/Toolkit.UI.Avalonia/InvokeNavigationViewItemAction.cs b/Toolkit.UI.Avalonia/InvokeNavigationViewItemAction.cs index 393791c..7f86405 100644 --- a/Toolkit.UI.Avalonia/InvokeNavigationViewItemAction.cs +++ b/Toolkit.UI.Avalonia/InvokeNavigationViewItemAction.cs @@ -21,7 +21,7 @@ public class InvokeNavigationViewItemAction : { if (collection is { Count: > 0 } && collection[0] is ISelectable selectable) { - selectable.Selected = true; + selectable.IsSelected = true; } } }, DispatcherPriority.ContextIdle); @@ -35,7 +35,7 @@ public class InvokeNavigationViewItemAction : { if (collection is { Count: > 0 } && collection[0] is ISelectable selectable) { - selectable.Selected = true; + selectable.IsSelected = true; } } }, DispatcherPriority.ContextIdle);