diff --git a/Framework/Avalonia/Avalonia.csproj b/Framework/Avalonia/Avalonia.csproj
index b097d4d..63d5b85 100644
--- a/Framework/Avalonia/Avalonia.csproj
+++ b/Framework/Avalonia/Avalonia.csproj
@@ -3,8 +3,8 @@
net7.0
enable
enable
- Toolkit.Foundation.Avalonia
- Toolkit.Foundation.Avalonia
+ Toolkit.Framework.Avalonia
+ Toolkit.Framework.Avalonia
diff --git a/Framework/Avalonia/Extensions/EventArgsExtensions.cs b/Framework/Avalonia/Extensions/EventArgsExtensions.cs
index 9e80244..9299fe5 100644
--- a/Framework/Avalonia/Extensions/EventArgsExtensions.cs
+++ b/Framework/Avalonia/Extensions/EventArgsExtensions.cs
@@ -1,24 +1,23 @@
using Avalonia.Data.Converters;
using System.Globalization;
-namespace Toolkit.Foundation.Avalonia
+namespace Toolkit.Foundation.Avalonia;
+
+public static class EventArgsExtensions
{
- public static class EventArgsExtensions
+ public static dynamic? GetEventArguments(this EventArgs args, string? path, IValueConverter? converter, object? converterParameter)
{
- public static dynamic? GetEventArguments(this EventArgs args, string? path, IValueConverter? converter, object? converterParameter)
+ return !string.IsNullOrWhiteSpace(path) ? GetEventArgsPropertyPathValue(args, path) : converter is not null ? converter.Convert(args, typeof(object), converterParameter, CultureInfo.CurrentCulture) : (dynamic)args;
+ }
+
+ private static object GetEventArgsPropertyPathValue(object args, string path)
+ {
+ object? value = args;
+ if (path is { })
{
- return !string.IsNullOrWhiteSpace(path) ? GetEventArgsPropertyPathValue(args, path) : converter is not null ? converter.Convert(args, typeof(object), converterParameter, CultureInfo.CurrentCulture) : (dynamic)args;
+ value = PropertyPathHelper.GetValue(args, path);
}
- private static object GetEventArgsPropertyPathValue(object args, string path)
- {
- object? value = args;
- if (path is { })
- {
- value = PropertyPathHelper.GetValue(args, path);
- }
-
- return value;
- }
+ return value;
}
}
\ No newline at end of file
diff --git a/Framework/Avalonia/Extensions/IHostBuilderExtensions.cs b/Framework/Avalonia/Extensions/IHostBuilderExtensions.cs
index d747174..c9a12d8 100644
--- a/Framework/Avalonia/Extensions/IHostBuilderExtensions.cs
+++ b/Framework/Avalonia/Extensions/IHostBuilderExtensions.cs
@@ -3,33 +3,32 @@ using Microsoft.Extensions.DependencyInjection.Extensions;
using Microsoft.Extensions.Hosting;
using Toolkit.Framework.Foundation;
-namespace Toolkit.Foundation.Avalonia
+namespace Toolkit.Foundation.Avalonia;
+
+public static class IHostBuilderExtensions
{
- public static class IHostBuilderExtensions
+ public static IHostBuilder ConfigureTemplates(this IHostBuilder hostBuilder, Action builderDelegate)
{
- public static IHostBuilder ConfigureTemplates(this IHostBuilder hostBuilder, Action builderDelegate)
+ hostBuilder.ConfigureServices((hostBuilderContext, serviceCollection) =>
{
- hostBuilder.ConfigureServices((hostBuilderContext, serviceCollection) =>
+ TemplateBuilder? builder = new();
+ builderDelegate?.Invoke(builder);
+
+ serviceCollection.TryAddSingleton(builder.Descriptors);
+ serviceCollection.TryAddSingleton();
+ serviceCollection.TryAddSingleton();
+ serviceCollection.TryAddSingleton();
+ serviceCollection.TryAddSingleton();
+ serviceCollection.TryAddSingleton();
+ serviceCollection.TryAddSingleton();
+
+ foreach (ITemplateDescriptor? descriptor in builder.Descriptors)
{
- TemplateBuilder? builder = new();
- builderDelegate?.Invoke(builder);
+ serviceCollection.Add(new ServiceDescriptor(descriptor.TemplateType, descriptor.TemplateType, descriptor.Lifetime));
+ serviceCollection.Add(new ServiceDescriptor(descriptor.ContentType, descriptor.ContentType, descriptor.Lifetime));
+ }
+ });
- serviceCollection.TryAddSingleton(builder.Descriptors);
- serviceCollection.TryAddSingleton();
- serviceCollection.TryAddSingleton();
- serviceCollection.TryAddSingleton();
- serviceCollection.TryAddSingleton();
- serviceCollection.TryAddSingleton();
- serviceCollection.TryAddSingleton();
-
- foreach (ITemplateDescriptor? descriptor in builder.Descriptors)
- {
- serviceCollection.Add(new ServiceDescriptor(descriptor.TemplateType, descriptor.TemplateType, descriptor.Lifetime));
- serviceCollection.Add(new ServiceDescriptor(descriptor.ContentType, descriptor.ContentType, descriptor.Lifetime));
- }
- });
-
- return hostBuilder;
- }
+ return hostBuilder;
}
}
\ No newline at end of file
diff --git a/Framework/Avalonia/Extensions/IServiceCollectionExtensions.cs b/Framework/Avalonia/Extensions/IServiceCollectionExtensions.cs
index dd0f99e..6858114 100644
--- a/Framework/Avalonia/Extensions/IServiceCollectionExtensions.cs
+++ b/Framework/Avalonia/Extensions/IServiceCollectionExtensions.cs
@@ -4,19 +4,18 @@ using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.DependencyInjection.Extensions;
using Toolkit.Framework.Foundation;
-namespace Toolkit.Foundation.Avalonia
+namespace Toolkit.Foundation.Avalonia;
+
+public static class IServiceCollectionExtensions
{
- public static class IServiceCollectionExtensions
+ public static IServiceCollection AddNavigation(this IServiceCollection serviceCollection)
{
- public static IServiceCollection AddNavigation(this IServiceCollection serviceCollection)
- {
- serviceCollection.TryAddSingleton();
+ serviceCollection.TryAddSingleton();
- serviceCollection.TryAddTransient, FrameNavigation>();
- serviceCollection.TryAddTransient, ContentDialogNavigation>();
- serviceCollection.TryAddTransient, ContentControlNavigation>();
+ serviceCollection.TryAddTransient, FrameNavigation>();
+ serviceCollection.TryAddTransient, ContentDialogNavigation>();
+ serviceCollection.TryAddTransient, ContentControlNavigation>();
- return serviceCollection;
- }
+ return serviceCollection;
}
}
\ No newline at end of file
diff --git a/Framework/Avalonia/Extensions/MarkupExtensions.cs b/Framework/Avalonia/Extensions/MarkupExtensions.cs
index a2085fa..f119b93 100644
--- a/Framework/Avalonia/Extensions/MarkupExtensions.cs
+++ b/Framework/Avalonia/Extensions/MarkupExtensions.cs
@@ -1,17 +1,16 @@
using Avalonia.Data;
-namespace Toolkit.Foundation.Avalonia
-{
- public static class MarkupExtensions
- {
- public static Binding? ToBinding(this object value)
- {
- if (value is Binding)
- {
- return value as Binding;
- }
+namespace Toolkit.Foundation.Avalonia;
- return new Binding { Mode = BindingMode.OneWay, Source = value };
+public static class MarkupExtensions
+{
+ public static Binding? ToBinding(this object value)
+ {
+ if (value is Binding)
+ {
+ return value as Binding;
}
+
+ return new Binding { Mode = BindingMode.OneWay, Source = value };
}
}
\ No newline at end of file
diff --git a/Framework/Avalonia/Extensions/PropertyPathHelper..cs b/Framework/Avalonia/Extensions/PropertyPathHelper..cs
index b25e696..819e994 100644
--- a/Framework/Avalonia/Extensions/PropertyPathHelper..cs
+++ b/Framework/Avalonia/Extensions/PropertyPathHelper..cs
@@ -1,28 +1,27 @@
using Avalonia;
using Avalonia.Data;
-namespace Toolkit.Foundation.Avalonia
+namespace Toolkit.Foundation.Avalonia;
+
+public static class PropertyPathHelper
{
- public static class PropertyPathHelper
+ private static readonly Dummy dummy = new();
+
+ public static object GetValue(object args, string path)
{
- private static readonly Dummy dummy = new();
-
- public static object GetValue(object args, string path)
+ Binding binding = new(path)
{
- Binding binding = new(path)
- {
- Mode = BindingMode.OneTime,
- Source = args
- };
+ Mode = BindingMode.OneTime,
+ Source = args
+ };
- dummy.Bind(Dummy.ValueProperty, binding);
- return dummy.GetValue(Dummy.ValueProperty);
- }
+ dummy.Bind(Dummy.ValueProperty, binding);
+ return dummy.GetValue(Dummy.ValueProperty);
+ }
- private class Dummy : AvaloniaObject
- {
- public static readonly StyledProperty