diff --git a/Avalonia/Avalonia.csproj b/Avalonia/Avalonia.csproj
new file mode 100644
index 0000000..312672e
--- /dev/null
+++ b/Avalonia/Avalonia.csproj
@@ -0,0 +1,12 @@
+
+
+ net7.0
+ enable
+ enable
+ Toolkit.Controls.Avalonia
+ Toolkit.Controls.Avalonia
+
+
+
+
+
\ No newline at end of file
diff --git a/Avalonia/ContentDialog/ContentDialog.cs b/Avalonia/ContentDialog/ContentDialog.cs
new file mode 100644
index 0000000..3d2f7c6
--- /dev/null
+++ b/Avalonia/ContentDialog/ContentDialog.cs
@@ -0,0 +1,8 @@
+using Avalonia.Styling;
+
+namespace Toolkit.Controls.Avalonia;
+
+public class ContentDialog : FluentAvalonia.UI.Controls.ContentDialog, IStyleable
+{
+ Type IStyleable.StyleKey => typeof(FluentAvalonia.UI.Controls.ContentDialog);
+}
\ No newline at end of file
diff --git a/Avalonia/Frame/Frame.cs b/Avalonia/Frame/Frame.cs
new file mode 100644
index 0000000..338ac19
--- /dev/null
+++ b/Avalonia/Frame/Frame.cs
@@ -0,0 +1,8 @@
+using Avalonia.Styling;
+
+namespace Toolkit.Controls.Avalonia;
+
+public class Frame : FluentAvalonia.UI.Controls.Frame, IStyleable
+{
+ Type IStyleable.StyleKey => typeof(FluentAvalonia.UI.Controls.Frame);
+}
\ No newline at end of file
diff --git a/Avalonia/NavigationView/NavigationView.cs b/Avalonia/NavigationView/NavigationView.cs
new file mode 100644
index 0000000..45ef5ed
--- /dev/null
+++ b/Avalonia/NavigationView/NavigationView.cs
@@ -0,0 +1,8 @@
+using Avalonia.Styling;
+
+namespace Toolkit.Controls.Avalonia;
+
+public class NavigationView : FluentAvalonia.UI.Controls.NavigationView, IStyleable
+{
+ Type IStyleable.StyleKey => typeof(FluentAvalonia.UI.Controls.NavigationView);
+}
diff --git a/Avalonia/NavigationView/NavigationViewItem.cs b/Avalonia/NavigationView/NavigationViewItem.cs
new file mode 100644
index 0000000..0da829c
--- /dev/null
+++ b/Avalonia/NavigationView/NavigationViewItem.cs
@@ -0,0 +1,8 @@
+using Avalonia.Styling;
+
+namespace Toolkit.Controls.Avalonia;
+
+public class NavigationViewItem : FluentAvalonia.UI.Controls.NavigationViewItem, IStyleable
+{
+ Type IStyleable.StyleKey => typeof(FluentAvalonia.UI.Controls.NavigationViewItem);
+}
\ No newline at end of file
diff --git a/Avalonia/Properties/Assembly.cs b/Avalonia/Properties/Assembly.cs
new file mode 100644
index 0000000..728e2ac
--- /dev/null
+++ b/Avalonia/Properties/Assembly.cs
@@ -0,0 +1,3 @@
+using Avalonia.Metadata;
+
+[assembly: XmlnsDefinition("https://github.com/avaloniaui", "Toolkit.Controls.Avalonia")]
diff --git a/Toolkit.Foundation.Avalonia/Toolkit.Foundation.Avalonia.csproj b/Framework/Avalonia/Avalonia.csproj
similarity index 72%
rename from Toolkit.Foundation.Avalonia/Toolkit.Foundation.Avalonia.csproj
rename to Framework/Avalonia/Avalonia.csproj
index dae5e10..a2edd3d 100644
--- a/Toolkit.Foundation.Avalonia/Toolkit.Foundation.Avalonia.csproj
+++ b/Framework/Avalonia/Avalonia.csproj
@@ -4,6 +4,8 @@
net7.0
enable
enable
+ Toolkit.Foundation.Avalonia
+ Toolkit.Foundation.Avalonia
@@ -13,7 +15,7 @@
-
+
diff --git a/Toolkit.Foundation.Avalonia/Extensions/EventArgsExtensions.cs b/Framework/Avalonia/Extensions/EventArgsExtensions.cs
similarity index 100%
rename from Toolkit.Foundation.Avalonia/Extensions/EventArgsExtensions.cs
rename to Framework/Avalonia/Extensions/EventArgsExtensions.cs
diff --git a/Toolkit.Foundation.Avalonia/Extensions/IHostBuilderExtensions.cs b/Framework/Avalonia/Extensions/IHostBuilderExtensions.cs
similarity index 91%
rename from Toolkit.Foundation.Avalonia/Extensions/IHostBuilderExtensions.cs
rename to Framework/Avalonia/Extensions/IHostBuilderExtensions.cs
index 68249f1..71b2199 100644
--- a/Toolkit.Foundation.Avalonia/Extensions/IHostBuilderExtensions.cs
+++ b/Framework/Avalonia/Extensions/IHostBuilderExtensions.cs
@@ -1,4 +1,5 @@
-using Microsoft.Extensions.DependencyInjection;
+using Mediator;
+using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.DependencyInjection.Extensions;
using Microsoft.Extensions.Hosting;
@@ -24,7 +25,7 @@ namespace Toolkit.Foundation.Avalonia
foreach (ITemplateDescriptor? descriptor in builder.Descriptors)
{
serviceCollection.Add(new ServiceDescriptor(descriptor.TemplateType, descriptor.TemplateType, descriptor.Lifetime));
- serviceCollection.Add(new ServiceDescriptor(descriptor.DataType, descriptor.DataType, descriptor.Lifetime));
+ serviceCollection.Add(new ServiceDescriptor(descriptor.ContentType, descriptor.ContentType, descriptor.Lifetime));
}
});
diff --git a/Toolkit.Foundation.Avalonia/Extensions/IServiceCollectionExtensions.cs b/Framework/Avalonia/Extensions/IServiceCollectionExtensions.cs
similarity index 100%
rename from Toolkit.Foundation.Avalonia/Extensions/IServiceCollectionExtensions.cs
rename to Framework/Avalonia/Extensions/IServiceCollectionExtensions.cs
diff --git a/Toolkit.Foundation.Avalonia/Extensions/MarkupExtensions.cs b/Framework/Avalonia/Extensions/MarkupExtensions.cs
similarity index 100%
rename from Toolkit.Foundation.Avalonia/Extensions/MarkupExtensions.cs
rename to Framework/Avalonia/Extensions/MarkupExtensions.cs
diff --git a/Toolkit.Foundation.Avalonia/Extensions/PropertyPathHelper..cs b/Framework/Avalonia/Extensions/PropertyPathHelper..cs
similarity index 100%
rename from Toolkit.Foundation.Avalonia/Extensions/PropertyPathHelper..cs
rename to Framework/Avalonia/Extensions/PropertyPathHelper..cs
diff --git a/Toolkit.Foundation.Avalonia/Markups/CompositeExtension.cs b/Framework/Avalonia/Markups/CompositeExtension.cs
similarity index 100%
rename from Toolkit.Foundation.Avalonia/Markups/CompositeExtension.cs
rename to Framework/Avalonia/Markups/CompositeExtension.cs
diff --git a/Toolkit.Foundation.Avalonia/Markups/EventParameterExtension.cs b/Framework/Avalonia/Markups/EventParameterExtension.cs
similarity index 100%
rename from Toolkit.Foundation.Avalonia/Markups/EventParameterExtension.cs
rename to Framework/Avalonia/Markups/EventParameterExtension.cs
diff --git a/Toolkit.Foundation.Avalonia/Markups/InvokeExtension.cs b/Framework/Avalonia/Markups/InvokeExtension.cs
similarity index 100%
rename from Toolkit.Foundation.Avalonia/Markups/InvokeExtension.cs
rename to Framework/Avalonia/Markups/InvokeExtension.cs
diff --git a/Toolkit.Foundation.Avalonia/Markups/NavigateExtension.cs b/Framework/Avalonia/Markups/NavigateExtension.cs
similarity index 100%
rename from Toolkit.Foundation.Avalonia/Markups/NavigateExtension.cs
rename to Framework/Avalonia/Markups/NavigateExtension.cs
diff --git a/Toolkit.Foundation.Avalonia/Markups/NavigationRouteExtension.cs b/Framework/Avalonia/Markups/NavigationRouteExtension.cs
similarity index 100%
rename from Toolkit.Foundation.Avalonia/Markups/NavigationRouteExtension.cs
rename to Framework/Avalonia/Markups/NavigationRouteExtension.cs
diff --git a/Toolkit.Foundation.Avalonia/Markups/ParameterBindingExtension.cs b/Framework/Avalonia/Markups/ParameterBindingExtension.cs
similarity index 100%
rename from Toolkit.Foundation.Avalonia/Markups/ParameterBindingExtension.cs
rename to Framework/Avalonia/Markups/ParameterBindingExtension.cs
diff --git a/Toolkit.Foundation.Avalonia/Markups/TriggerCollection.cs b/Framework/Avalonia/Markups/TriggerCollection.cs
similarity index 100%
rename from Toolkit.Foundation.Avalonia/Markups/TriggerCollection.cs
rename to Framework/Avalonia/Markups/TriggerCollection.cs
diff --git a/Toolkit.Foundation.Avalonia/Markups/TriggerExtension.cs b/Framework/Avalonia/Markups/TriggerExtension.cs
similarity index 100%
rename from Toolkit.Foundation.Avalonia/Markups/TriggerExtension.cs
rename to Framework/Avalonia/Markups/TriggerExtension.cs
diff --git a/Toolkit.Foundation.Avalonia/Navigation/ContentControlNavigation.cs b/Framework/Avalonia/Navigation/ContentControlNavigation.cs
similarity index 100%
rename from Toolkit.Foundation.Avalonia/Navigation/ContentControlNavigation.cs
rename to Framework/Avalonia/Navigation/ContentControlNavigation.cs
diff --git a/Toolkit.Foundation.Avalonia/Navigation/ContentControlNavigationHandler.cs b/Framework/Avalonia/Navigation/ContentControlNavigationHandler.cs
similarity index 100%
rename from Toolkit.Foundation.Avalonia/Navigation/ContentControlNavigationHandler.cs
rename to Framework/Avalonia/Navigation/ContentControlNavigationHandler.cs
diff --git a/Toolkit.Foundation.Avalonia/Navigation/ContentDialogNavigation.cs b/Framework/Avalonia/Navigation/ContentDialogNavigation.cs
similarity index 100%
rename from Toolkit.Foundation.Avalonia/Navigation/ContentDialogNavigation.cs
rename to Framework/Avalonia/Navigation/ContentDialogNavigation.cs
diff --git a/Toolkit.Foundation.Avalonia/Navigation/ContentDialogNavigationHandler.cs b/Framework/Avalonia/Navigation/ContentDialogNavigationHandler.cs
similarity index 81%
rename from Toolkit.Foundation.Avalonia/Navigation/ContentDialogNavigationHandler.cs
rename to Framework/Avalonia/Navigation/ContentDialogNavigationHandler.cs
index edbacaf..6b020f1 100644
--- a/Toolkit.Foundation.Avalonia/Navigation/ContentDialogNavigationHandler.cs
+++ b/Framework/Avalonia/Navigation/ContentDialogNavigationHandler.cs
@@ -12,18 +12,9 @@ namespace Toolkit.Foundation.Avalonia
async void HandleButtonClick(ContentDialog sender, ContentDialogButtonClickEventArgs args)
{
ContentDialogButtonClickDeferral defferal = args.GetDeferral();
-
- if (sender.DataContext is INavigationConfirmationAsync confirmationAsync)
- {
- if (!await confirmationAsync.CanConfirmAsync())
- {
- args.Cancel = true;
- }
- }
-
if (sender.DataContext is INavigationConfirmation confirmation)
{
- if (!confirmation.CanConfirm())
+ if (!await confirmation.CanConfirm())
{
args.Cancel = true;
}
diff --git a/Toolkit.Foundation.Avalonia/Navigation/FrameNavigation.cs b/Framework/Avalonia/Navigation/FrameNavigation.cs
similarity index 100%
rename from Toolkit.Foundation.Avalonia/Navigation/FrameNavigation.cs
rename to Framework/Avalonia/Navigation/FrameNavigation.cs
diff --git a/Toolkit.Foundation.Avalonia/Navigation/FrameNavigationHandler.cs b/Framework/Avalonia/Navigation/FrameNavigationHandler.cs
similarity index 100%
rename from Toolkit.Foundation.Avalonia/Navigation/FrameNavigationHandler.cs
rename to Framework/Avalonia/Navigation/FrameNavigationHandler.cs
diff --git a/Toolkit.Foundation.Avalonia/Navigation/NavigateBackHandler.cs b/Framework/Avalonia/Navigation/NavigateBackHandler.cs
similarity index 100%
rename from Toolkit.Foundation.Avalonia/Navigation/NavigateBackHandler.cs
rename to Framework/Avalonia/Navigation/NavigateBackHandler.cs
diff --git a/Toolkit.Foundation.Avalonia/Navigation/NavigateHandler.cs b/Framework/Avalonia/Navigation/NavigateHandler.cs
similarity index 78%
rename from Toolkit.Foundation.Avalonia/Navigation/NavigateHandler.cs
rename to Framework/Avalonia/Navigation/NavigateHandler.cs
index 8fb5960..7be55a6 100644
--- a/Toolkit.Foundation.Avalonia/Navigation/NavigateHandler.cs
+++ b/Framework/Avalonia/Navigation/NavigateHandler.cs
@@ -65,29 +65,38 @@ namespace Toolkit.Foundation.Avalonia
if (template is not null)
{
- object? route = null;
+ object? target = null;
if (descriptors.FirstOrDefault(x => request.Route is string { } name && name == x.Name) is NavigationRouteDescriptor descriptor)
{
- route = descriptor.Route;
+ target = descriptor.Route;
}
else
{
- route = template;
+ target = template;
}
- if (route is Frame frame)
+ bool hasNavigated = false;
+ if (target is Frame frame)
{
- await mediator.Send(new FrameNavigation(frame, content, template, keyedParameters));
+ hasNavigated = await mediator.Send(new FrameNavigation(frame, content, template, keyedParameters));
}
- if (route is ContentDialog dialog)
+ if (target is ContentDialog dialog)
{
- await mediator.Send(new ContentDialogNavigation(dialog, content, template, keyedParameters));
+ hasNavigated = await mediator.Send(new ContentDialogNavigation(dialog, content, template, keyedParameters));
}
- if (route is ContentControl contentControl)
+ if (target is ContentControl contentControl)
{
- await mediator.Send(new ContentControlNavigation(contentControl, content, template, keyedParameters));
+ hasNavigated = await mediator.Send(new ContentControlNavigation(contentControl, content, template, keyedParameters));
+ }
+
+ if (hasNavigated)
+ {
+ if (content is INavigated navigated)
+ {
+ await navigated.Navigated();
+ }
}
}
else
diff --git a/Toolkit.Foundation.Avalonia/Navigation/Navigation.cs b/Framework/Avalonia/Navigation/Navigation.cs
similarity index 100%
rename from Toolkit.Foundation.Avalonia/Navigation/Navigation.cs
rename to Framework/Avalonia/Navigation/Navigation.cs
diff --git a/Toolkit.Foundation.Avalonia/Navigation/NavigationPageFactory.cs b/Framework/Avalonia/Navigation/NavigationPageFactory.cs
similarity index 100%
rename from Toolkit.Foundation.Avalonia/Navigation/NavigationPageFactory.cs
rename to Framework/Avalonia/Navigation/NavigationPageFactory.cs
diff --git a/Toolkit.Foundation.Avalonia/Navigation/NavigationRouteHandler.cs b/Framework/Avalonia/Navigation/NavigationRouteHandler.cs
similarity index 100%
rename from Toolkit.Foundation.Avalonia/Navigation/NavigationRouteHandler.cs
rename to Framework/Avalonia/Navigation/NavigationRouteHandler.cs
diff --git a/Toolkit.Foundation.Avalonia/Properties/Assembly.cs b/Framework/Avalonia/Properties/Assembly.cs
similarity index 100%
rename from Toolkit.Foundation.Avalonia/Properties/Assembly.cs
rename to Framework/Avalonia/Properties/Assembly.cs
diff --git a/Toolkit.Foundation.Avalonia/Templates/TemplateSelector.cs b/Framework/Avalonia/Templates/TemplateSelector.cs
similarity index 100%
rename from Toolkit.Foundation.Avalonia/Templates/TemplateSelector.cs
rename to Framework/Avalonia/Templates/TemplateSelector.cs
diff --git a/Toolkit.Foundation/Configurations/ConfigurationChanged.cs b/Framework/Foundation/Configurations/ConfigurationChanged.cs
similarity index 100%
rename from Toolkit.Foundation/Configurations/ConfigurationChanged.cs
rename to Framework/Foundation/Configurations/ConfigurationChanged.cs
diff --git a/Toolkit.Foundation/Configurations/ConfigurationInitializer.cs b/Framework/Foundation/Configurations/ConfigurationInitializer.cs
similarity index 100%
rename from Toolkit.Foundation/Configurations/ConfigurationInitializer.cs
rename to Framework/Foundation/Configurations/ConfigurationInitializer.cs
diff --git a/Toolkit.Foundation/Configurations/ConfigurationWriter.cs b/Framework/Foundation/Configurations/ConfigurationWriter.cs
similarity index 100%
rename from Toolkit.Foundation/Configurations/ConfigurationWriter.cs
rename to Framework/Foundation/Configurations/ConfigurationWriter.cs
diff --git a/Toolkit.Foundation/Configurations/IConfigurationWriter.cs b/Framework/Foundation/Configurations/IConfigurationWriter.cs
similarity index 100%
rename from Toolkit.Foundation/Configurations/IConfigurationWriter.cs
rename to Framework/Foundation/Configurations/IConfigurationWriter.cs
diff --git a/Toolkit.Foundation/Configurations/IWritableConfigurationProvider.cs b/Framework/Foundation/Configurations/IWritableConfigurationProvider.cs
similarity index 100%
rename from Toolkit.Foundation/Configurations/IWritableConfigurationProvider.cs
rename to Framework/Foundation/Configurations/IWritableConfigurationProvider.cs
diff --git a/Toolkit.Foundation/Configurations/IWritableJsonConfigurationBuilder.cs b/Framework/Foundation/Configurations/IWritableJsonConfigurationBuilder.cs
similarity index 100%
rename from Toolkit.Foundation/Configurations/IWritableJsonConfigurationBuilder.cs
rename to Framework/Foundation/Configurations/IWritableJsonConfigurationBuilder.cs
diff --git a/Toolkit.Foundation/Configurations/IWritableJsonConfigurationDescriptor.cs b/Framework/Foundation/Configurations/IWritableJsonConfigurationDescriptor.cs
similarity index 100%
rename from Toolkit.Foundation/Configurations/IWritableJsonConfigurationDescriptor.cs
rename to Framework/Foundation/Configurations/IWritableJsonConfigurationDescriptor.cs
diff --git a/Toolkit.Foundation/Configurations/WritableJsonConfigurationBuilder.cs b/Framework/Foundation/Configurations/WritableJsonConfigurationBuilder.cs
similarity index 100%
rename from Toolkit.Foundation/Configurations/WritableJsonConfigurationBuilder.cs
rename to Framework/Foundation/Configurations/WritableJsonConfigurationBuilder.cs
diff --git a/Toolkit.Foundation/Configurations/WritableJsonConfigurationDescriptor.cs b/Framework/Foundation/Configurations/WritableJsonConfigurationDescriptor.cs
similarity index 100%
rename from Toolkit.Foundation/Configurations/WritableJsonConfigurationDescriptor.cs
rename to Framework/Foundation/Configurations/WritableJsonConfigurationDescriptor.cs
diff --git a/Toolkit.Foundation/Configurations/WritableJsonConfigurationExtensions.cs b/Framework/Foundation/Configurations/WritableJsonConfigurationExtensions.cs
similarity index 100%
rename from Toolkit.Foundation/Configurations/WritableJsonConfigurationExtensions.cs
rename to Framework/Foundation/Configurations/WritableJsonConfigurationExtensions.cs
diff --git a/Toolkit.Foundation/Configurations/WritableJsonConfigurationFile.cs b/Framework/Foundation/Configurations/WritableJsonConfigurationFile.cs
similarity index 100%
rename from Toolkit.Foundation/Configurations/WritableJsonConfigurationFile.cs
rename to Framework/Foundation/Configurations/WritableJsonConfigurationFile.cs
diff --git a/Toolkit.Foundation/Configurations/WritableJsonConfigurationProvider.cs b/Framework/Foundation/Configurations/WritableJsonConfigurationProvider.cs
similarity index 100%
rename from Toolkit.Foundation/Configurations/WritableJsonConfigurationProvider.cs
rename to Framework/Foundation/Configurations/WritableJsonConfigurationProvider.cs
diff --git a/Toolkit.Foundation/Configurations/WritableJsonConfigurationSource.cs b/Framework/Foundation/Configurations/WritableJsonConfigurationSource.cs
similarity index 100%
rename from Toolkit.Foundation/Configurations/WritableJsonConfigurationSource.cs
rename to Framework/Foundation/Configurations/WritableJsonConfigurationSource.cs
diff --git a/Toolkit.Foundation/Configurations/Write.cs b/Framework/Foundation/Configurations/Write.cs
similarity index 100%
rename from Toolkit.Foundation/Configurations/Write.cs
rename to Framework/Foundation/Configurations/Write.cs
diff --git a/Toolkit.Foundation/Configurations/WriteHandler.cs b/Framework/Foundation/Configurations/WriteHandler.cs
similarity index 100%
rename from Toolkit.Foundation/Configurations/WriteHandler.cs
rename to Framework/Foundation/Configurations/WriteHandler.cs
diff --git a/Toolkit.Foundation/Extensions/IHostBuilderExtensions.cs b/Framework/Foundation/Extensions/IHostBuilderExtensions.cs
similarity index 100%
rename from Toolkit.Foundation/Extensions/IHostBuilderExtensions.cs
rename to Framework/Foundation/Extensions/IHostBuilderExtensions.cs
diff --git a/Toolkit.Foundation/Extensions/IServiceCollectionExtensions.cs b/Framework/Foundation/Extensions/IServiceCollectionExtensions.cs
similarity index 99%
rename from Toolkit.Foundation/Extensions/IServiceCollectionExtensions.cs
rename to Framework/Foundation/Extensions/IServiceCollectionExtensions.cs
index e6c737a..975c3d2 100644
--- a/Toolkit.Foundation/Extensions/IServiceCollectionExtensions.cs
+++ b/Framework/Foundation/Extensions/IServiceCollectionExtensions.cs
@@ -11,6 +11,7 @@ public static class IServiceCollectionExtensions
return serviceCollection;
}
+
public static IServiceCollection AddFoundation(this IServiceCollection serviceCollection)
{
serviceCollection.AddSingleton(provider => new ServiceFactory(provider.GetService, (instanceType, parameters) => ActivatorUtilities.CreateInstance(provider, instanceType, parameters!)))
diff --git a/Toolkit.Foundation/Extensions/IServiceFactoryExtensions.cs b/Framework/Foundation/Extensions/IServiceFactoryExtensions.cs
similarity index 100%
rename from Toolkit.Foundation/Extensions/IServiceFactoryExtensions.cs
rename to Framework/Foundation/Extensions/IServiceFactoryExtensions.cs
diff --git a/Toolkit.Foundation/Toolkit.Foundation.csproj b/Framework/Foundation/Foundation.csproj
similarity index 88%
rename from Toolkit.Foundation/Toolkit.Foundation.csproj
rename to Framework/Foundation/Foundation.csproj
index 72e5a1a..cf587bd 100644
--- a/Toolkit.Foundation/Toolkit.Foundation.csproj
+++ b/Framework/Foundation/Foundation.csproj
@@ -4,6 +4,8 @@
net7.0
enable
enable
+ Toolkit.Foundation
+ Toolkit.Foundation
diff --git a/Toolkit.Foundation/Lifecycles/AppService.cs b/Framework/Foundation/Lifecycles/AppService.cs
similarity index 100%
rename from Toolkit.Foundation/Lifecycles/AppService.cs
rename to Framework/Foundation/Lifecycles/AppService.cs
diff --git a/Toolkit.Foundation/Lifecycles/ICache.cs b/Framework/Foundation/Lifecycles/ICache.cs
similarity index 100%
rename from Toolkit.Foundation/Lifecycles/ICache.cs
rename to Framework/Foundation/Lifecycles/ICache.cs
diff --git a/Toolkit.Foundation/Lifecycles/IInitializable.cs b/Framework/Foundation/Lifecycles/IInitializable.cs
similarity index 100%
rename from Toolkit.Foundation/Lifecycles/IInitializable.cs
rename to Framework/Foundation/Lifecycles/IInitializable.cs
diff --git a/Toolkit.Foundation/Lifecycles/IInitialization.cs b/Framework/Foundation/Lifecycles/IInitialization.cs
similarity index 100%
rename from Toolkit.Foundation/Lifecycles/IInitialization.cs
rename to Framework/Foundation/Lifecycles/IInitialization.cs
diff --git a/Toolkit.Foundation/Lifecycles/Initialization.cs b/Framework/Foundation/Lifecycles/Initialization.cs
similarity index 100%
rename from Toolkit.Foundation/Lifecycles/Initialization.cs
rename to Framework/Foundation/Lifecycles/Initialization.cs
diff --git a/Toolkit.Foundation/Lifecycles/Initialize.cs b/Framework/Foundation/Lifecycles/Initialize.cs
similarity index 100%
rename from Toolkit.Foundation/Lifecycles/Initialize.cs
rename to Framework/Foundation/Lifecycles/Initialize.cs
diff --git a/Toolkit.Foundation/Lifecycles/InitializeHandler.cs b/Framework/Foundation/Lifecycles/InitializeHandler.cs
similarity index 100%
rename from Toolkit.Foundation/Lifecycles/InitializeHandler.cs
rename to Framework/Foundation/Lifecycles/InitializeHandler.cs
diff --git a/Toolkit.Foundation/Lifecycles/Initialized.cs b/Framework/Foundation/Lifecycles/Initialized.cs
similarity index 100%
rename from Toolkit.Foundation/Lifecycles/Initialized.cs
rename to Framework/Foundation/Lifecycles/Initialized.cs
diff --git a/Toolkit.Foundation/Navigation/IEventParameter.cs b/Framework/Foundation/Navigation/IEventParameter.cs
similarity index 100%
rename from Toolkit.Foundation/Navigation/IEventParameter.cs
rename to Framework/Foundation/Navigation/IEventParameter.cs
diff --git a/Framework/Foundation/Navigation/INavigationConfirmation.cs b/Framework/Foundation/Navigation/INavigationConfirmation.cs
new file mode 100644
index 0000000..2d8737c
--- /dev/null
+++ b/Framework/Foundation/Navigation/INavigationConfirmation.cs
@@ -0,0 +1,13 @@
+
+namespace Toolkit.Foundation
+{
+ public interface INavigationConfirmation
+ {
+ ValueTask CanConfirm();
+ }
+
+ public interface INavigated
+ {
+ ValueTask Navigated();
+ }
+}
\ No newline at end of file
diff --git a/Toolkit.Foundation/Navigation/INavigationRouteDescriptor.cs b/Framework/Foundation/Navigation/INavigationRouteDescriptor.cs
similarity index 100%
rename from Toolkit.Foundation/Navigation/INavigationRouteDescriptor.cs
rename to Framework/Foundation/Navigation/INavigationRouteDescriptor.cs
diff --git a/Toolkit.Foundation/Navigation/INavigationRouteDescriptorCollection.cs b/Framework/Foundation/Navigation/INavigationRouteDescriptorCollection.cs
similarity index 100%
rename from Toolkit.Foundation/Navigation/INavigationRouteDescriptorCollection.cs
rename to Framework/Foundation/Navigation/INavigationRouteDescriptorCollection.cs
diff --git a/Toolkit.Foundation/Navigation/IParameter.cs b/Framework/Foundation/Navigation/IParameter.cs
similarity index 100%
rename from Toolkit.Foundation/Navigation/IParameter.cs
rename to Framework/Foundation/Navigation/IParameter.cs
diff --git a/Toolkit.Foundation/Navigation/Navigate.cs b/Framework/Foundation/Navigation/Navigate.cs
similarity index 100%
rename from Toolkit.Foundation/Navigation/Navigate.cs
rename to Framework/Foundation/Navigation/Navigate.cs
diff --git a/Toolkit.Foundation/Navigation/NavigateBack.cs b/Framework/Foundation/Navigation/NavigateBack.cs
similarity index 100%
rename from Toolkit.Foundation/Navigation/NavigateBack.cs
rename to Framework/Foundation/Navigation/NavigateBack.cs
diff --git a/Toolkit.Foundation/Navigation/NavigationRoute.cs b/Framework/Foundation/Navigation/NavigationRoute.cs
similarity index 100%
rename from Toolkit.Foundation/Navigation/NavigationRoute.cs
rename to Framework/Foundation/Navigation/NavigationRoute.cs
diff --git a/Toolkit.Foundation/Navigation/NavigationRouteDescriptor.cs b/Framework/Foundation/Navigation/NavigationRouteDescriptor.cs
similarity index 100%
rename from Toolkit.Foundation/Navigation/NavigationRouteDescriptor.cs
rename to Framework/Foundation/Navigation/NavigationRouteDescriptor.cs
diff --git a/Toolkit.Foundation/Navigation/NavigationRouteDescriptorCollection.cs b/Framework/Foundation/Navigation/NavigationRouteDescriptorCollection.cs
similarity index 100%
rename from Toolkit.Foundation/Navigation/NavigationRouteDescriptorCollection.cs
rename to Framework/Foundation/Navigation/NavigationRouteDescriptorCollection.cs
diff --git a/Toolkit.Foundation/Services/IServiceCreator.cs b/Framework/Foundation/Services/IServiceCreator.cs
similarity index 100%
rename from Toolkit.Foundation/Services/IServiceCreator.cs
rename to Framework/Foundation/Services/IServiceCreator.cs
diff --git a/Toolkit.Foundation/Services/IServiceFactory.cs b/Framework/Foundation/Services/IServiceFactory.cs
similarity index 100%
rename from Toolkit.Foundation/Services/IServiceFactory.cs
rename to Framework/Foundation/Services/IServiceFactory.cs
diff --git a/Toolkit.Foundation/Services/ServiceCreator.cs b/Framework/Foundation/Services/ServiceCreator.cs
similarity index 100%
rename from Toolkit.Foundation/Services/ServiceCreator.cs
rename to Framework/Foundation/Services/ServiceCreator.cs
diff --git a/Toolkit.Foundation/Services/ServiceFactory.cs b/Framework/Foundation/Services/ServiceFactory.cs
similarity index 100%
rename from Toolkit.Foundation/Services/ServiceFactory.cs
rename to Framework/Foundation/Services/ServiceFactory.cs
diff --git a/Toolkit.Foundation/Services/ServiceFactoryDescriptor.cs b/Framework/Foundation/Services/ServiceFactoryDescriptor.cs
similarity index 100%
rename from Toolkit.Foundation/Services/ServiceFactoryDescriptor.cs
rename to Framework/Foundation/Services/ServiceFactoryDescriptor.cs
diff --git a/Toolkit.Foundation/Templates/INamedDataTemplateFactory.cs b/Framework/Foundation/Templates/INamedDataTemplateFactory.cs
similarity index 100%
rename from Toolkit.Foundation/Templates/INamedDataTemplateFactory.cs
rename to Framework/Foundation/Templates/INamedDataTemplateFactory.cs
diff --git a/Toolkit.Foundation/Templates/INamedTemplateFactory.cs b/Framework/Foundation/Templates/INamedTemplateFactory.cs
similarity index 100%
rename from Toolkit.Foundation/Templates/INamedTemplateFactory.cs
rename to Framework/Foundation/Templates/INamedTemplateFactory.cs
diff --git a/Toolkit.Foundation/Templates/ITemplateBuilder.cs b/Framework/Foundation/Templates/ITemplateBuilder.cs
similarity index 100%
rename from Toolkit.Foundation/Templates/ITemplateBuilder.cs
rename to Framework/Foundation/Templates/ITemplateBuilder.cs
diff --git a/Toolkit.Foundation/Templates/ITemplateDescriptor.cs b/Framework/Foundation/Templates/ITemplateDescriptor.cs
similarity index 87%
rename from Toolkit.Foundation/Templates/ITemplateDescriptor.cs
rename to Framework/Foundation/Templates/ITemplateDescriptor.cs
index 18b7b1a..0e501d6 100644
--- a/Toolkit.Foundation/Templates/ITemplateDescriptor.cs
+++ b/Framework/Foundation/Templates/ITemplateDescriptor.cs
@@ -4,7 +4,7 @@ namespace Toolkit.Foundation
{
public interface ITemplateDescriptor
{
- Type DataType { get; }
+ Type ContentType { get; }
ServiceLifetime Lifetime { get; }
diff --git a/Toolkit.Foundation/Templates/ITemplateDescriptorProvider.cs b/Framework/Foundation/Templates/ITemplateDescriptorProvider.cs
similarity index 100%
rename from Toolkit.Foundation/Templates/ITemplateDescriptorProvider.cs
rename to Framework/Foundation/Templates/ITemplateDescriptorProvider.cs
diff --git a/Toolkit.Foundation/Templates/ITemplateFactory.cs b/Framework/Foundation/Templates/ITemplateFactory.cs
similarity index 100%
rename from Toolkit.Foundation/Templates/ITemplateFactory.cs
rename to Framework/Foundation/Templates/ITemplateFactory.cs
diff --git a/Toolkit.Foundation/Templates/ITemplateSelector.cs b/Framework/Foundation/Templates/ITemplateSelector.cs
similarity index 100%
rename from Toolkit.Foundation/Templates/ITemplateSelector.cs
rename to Framework/Foundation/Templates/ITemplateSelector.cs
diff --git a/Toolkit.Foundation/Templates/ITypedDataTemplateFactory.cs b/Framework/Foundation/Templates/ITypedDataTemplateFactory.cs
similarity index 100%
rename from Toolkit.Foundation/Templates/ITypedDataTemplateFactory.cs
rename to Framework/Foundation/Templates/ITypedDataTemplateFactory.cs
diff --git a/Toolkit.Foundation/Templates/NamedDataTemplateFactory.cs b/Framework/Foundation/Templates/NamedDataTemplateFactory.cs
similarity index 91%
rename from Toolkit.Foundation/Templates/NamedDataTemplateFactory.cs
rename to Framework/Foundation/Templates/NamedDataTemplateFactory.cs
index 448c17a..7008fcc 100644
--- a/Toolkit.Foundation/Templates/NamedDataTemplateFactory.cs
+++ b/Framework/Foundation/Templates/NamedDataTemplateFactory.cs
@@ -23,7 +23,7 @@
if (descriptors.FirstOrDefault(x => x.Name == name) is ITemplateDescriptor descriptor)
{
- data = parameters is { Length: > 0 } ? serviceFactory.Create