diff --git a/App/WeddingBuilder/Builder.csproj b/App/WeddingBuilder/Builder.csproj
index 64641fb..2b81d92 100644
--- a/App/WeddingBuilder/Builder.csproj
+++ b/App/WeddingBuilder/Builder.csproj
@@ -9,17 +9,13 @@
-
-
-
-
-
+
@@ -27,11 +23,6 @@
-
-
- ..\..\Framework\Avalonia\References\FluentAvalonia.dll
-
-
StartProjectConfigurationView.axaml
diff --git a/App/WeddingBuilder/Views/AddPageView.axaml b/App/WeddingBuilder/Views/AddPageView.axaml
index 6396238..5d339aa 100644
--- a/App/WeddingBuilder/Views/AddPageView.axaml
+++ b/App/WeddingBuilder/Views/AddPageView.axaml
@@ -1,16 +1,14 @@
-
-
+
diff --git a/App/WeddingBuilder/Views/AddPageView.axaml.cs b/App/WeddingBuilder/Views/AddPageView.axaml.cs
index 69a5984..1efc24d 100644
--- a/App/WeddingBuilder/Views/AddPageView.axaml.cs
+++ b/App/WeddingBuilder/Views/AddPageView.axaml.cs
@@ -1,7 +1,7 @@
using Avalonia.Styling;
-using FluentAvalonia.UI.Controls;
using PropertyChanged;
using System;
+using TheXamlGuy.UI.Avalonia.Controls;
namespace Builder;
diff --git a/App/WeddingBuilder/Views/CreateProjectConfigurationView.axaml b/App/WeddingBuilder/Views/CreateProjectConfigurationView.axaml
index 9b02d23..479c9b8 100644
--- a/App/WeddingBuilder/Views/CreateProjectConfigurationView.axaml
+++ b/App/WeddingBuilder/Views/CreateProjectConfigurationView.axaml
@@ -3,11 +3,10 @@
xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:controls="clr-namespace:TheXamlGuy.UI.Avalonia.Controls;assembly=TheXamlGuy.UI.Avalonia.Controls"
- xmlns:fluent="clr-namespace:FluentAvalonia.UI.Controls;assembly=FluentAvalonia"
xmlns:views="using:Builder"
- Loaded="{Composite {ChangeProperty {Binding $parent[fluent:ContentDialog]},
- Classes,
- Create}}">
+ Loaded="{Composite {ChangeProperty {Binding $parent[ContentDialog]},
+ Classes,
+ Create}}">
diff --git a/App/WeddingBuilder/Views/ExistingProjectConfigurationView.axaml b/App/WeddingBuilder/Views/ExistingProjectConfigurationView.axaml
index a4cd9a8..c3df69c 100644
--- a/App/WeddingBuilder/Views/ExistingProjectConfigurationView.axaml
+++ b/App/WeddingBuilder/Views/ExistingProjectConfigurationView.axaml
@@ -2,7 +2,6 @@
x:Class="Builder.ExistingProjectConfigurationView"
xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:fluent="clr-namespace:FluentAvalonia.UI.Controls;assembly=FluentAvalonia"
- Loaded="{Composite {ChangeProperty {Binding $parent[fluent:ContentDialog]},
+ Loaded="{Composite {ChangeProperty {Binding $parent[ContentDialog]},
Classes,
Open}}" />
diff --git a/App/WeddingBuilder/Views/MainWindow.axaml.cs b/App/WeddingBuilder/Views/MainWindow.axaml.cs
index 1631cab..4c46596 100644
--- a/App/WeddingBuilder/Views/MainWindow.axaml.cs
+++ b/App/WeddingBuilder/Views/MainWindow.axaml.cs
@@ -12,64 +12,65 @@ using System.Runtime.InteropServices;
namespace Builder;
[DoNotNotify]
-public partial class MainWindow : CoreWindow
+public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
-
- protected override void OnOpened(EventArgs args)
- {
- if (AvaloniaLocator.Current.GetService() is FluentAvaloniaTheme theme)
- {
- theme.RequestedThemeChanged += OnRequestedThemeChanged;
-
- if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
- {
- if (IsWindows11 && theme.RequestedTheme != FluentAvaloniaTheme.HighContrastModeString)
- {
- TransparencyBackgroundFallback = Brushes.Transparent;
- TransparencyLevelHint = WindowTransparencyLevel.Mica;
-
- TryEnableMicaEffect(theme);
- }
- }
- }
-
- base.OnOpened(args);
- }
-
- private void OnRequestedThemeChanged(FluentAvaloniaTheme sender, RequestedThemeChangedEventArgs args)
- {
- if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
- {
- if (IsWindows11 && args.NewTheme != FluentAvaloniaTheme.HighContrastModeString)
- {
- TryEnableMicaEffect(sender);
- }
- else if (args.NewTheme == FluentAvaloniaTheme.HighContrastModeString)
- {
- SetValue(BackgroundProperty, AvaloniaProperty.UnsetValue);
- }
- }
- }
-
- private void TryEnableMicaEffect(FluentAvaloniaTheme theme)
- {
- if (theme.RequestedTheme == FluentAvaloniaTheme.DarkModeString)
- {
- Color2 color = this.TryFindResource("SolidBackgroundFillColorBase", out object? value) ? (Color2)(Color)value! : new Color2(32, 32, 32);
- color = color.LightenPercent(-0.5f);
-
- Background = new ImmutableSolidColorBrush(color, 0.78);
- }
- else if (theme.RequestedTheme == FluentAvaloniaTheme.LightModeString)
- {
- Color2 color = this.TryFindResource("SolidBackgroundFillColorBase", out object? value) ? (Color2)(Color)value! : new Color2(243, 243, 243);
- color = color.LightenPercent(0.5f);
-
- Background = new ImmutableSolidColorBrush(color, 0.9);
- }
- }
}
+
+// protected override void OnOpened(EventArgs args)
+// {
+// if (AvaloniaLocator.Current.GetService() is FluentAvaloniaTheme theme)
+// {
+// theme.RequestedThemeChanged += OnRequestedThemeChanged;
+
+// if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
+// {
+// if (IsWindows11 && theme.RequestedTheme != FluentAvaloniaTheme.HighContrastModeString)
+// {
+// TransparencyBackgroundFallback = Brushes.Transparent;
+// TransparencyLevelHint = WindowTransparencyLevel.Mica;
+
+// TryEnableMicaEffect(theme);
+// }
+// }
+// }
+
+// base.OnOpened(args);
+// }
+
+// private void OnRequestedThemeChanged(FluentAvaloniaTheme sender, RequestedThemeChangedEventArgs args)
+// {
+// if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
+// {
+// if (IsWindows11 && args.NewTheme != FluentAvaloniaTheme.HighContrastModeString)
+// {
+// TryEnableMicaEffect(sender);
+// }
+// else if (args.NewTheme == FluentAvaloniaTheme.HighContrastModeString)
+// {
+// SetValue(BackgroundProperty, AvaloniaProperty.UnsetValue);
+// }
+// }
+// }
+
+// private void TryEnableMicaEffect(FluentAvaloniaTheme theme)
+// {
+// if (theme.RequestedTheme == FluentAvaloniaTheme.DarkModeString)
+// {
+// Color2 color = this.TryFindResource("SolidBackgroundFillColorBase", out object? value) ? (Color2)(Color)value! : new Color2(32, 32, 32);
+// color = color.LightenPercent(-0.5f);
+
+// Background = new ImmutableSolidColorBrush(color, 0.78);
+// }
+// else if (theme.RequestedTheme == FluentAvaloniaTheme.LightModeString)
+// {
+// Color2 color = this.TryFindResource("SolidBackgroundFillColorBase", out object? value) ? (Color2)(Color)value! : new Color2(243, 243, 243);
+// color = color.LightenPercent(0.5f);
+
+// Background = new ImmutableSolidColorBrush(color, 0.9);
+// }
+// }
+//}
diff --git a/App/WeddingBuilder/Views/PageCollectionView.axaml b/App/WeddingBuilder/Views/PageCollectionView.axaml
index 7952a69..b31ea77 100644
--- a/App/WeddingBuilder/Views/PageCollectionView.axaml
+++ b/App/WeddingBuilder/Views/PageCollectionView.axaml
@@ -2,30 +2,29 @@
x:Class="Builder.PageCollectionView"
xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:fluent="using:FluentAvalonia.UI.Controls"
xmlns:view="clr-namespace:Builder;assembly=Builder">
-
-
+
-
-
+
+
-
-
-
-
-
+
+
+
+
+
-
-
+
+
diff --git a/App/WeddingBuilder/Views/ProjectConfigurationView.axaml b/App/WeddingBuilder/Views/ProjectConfigurationView.axaml
index 5c91ade..2d47dee 100644
--- a/App/WeddingBuilder/Views/ProjectConfigurationView.axaml
+++ b/App/WeddingBuilder/Views/ProjectConfigurationView.axaml
@@ -1,25 +1,24 @@
-
-
+
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
+
+
diff --git a/App/WeddingBuilder/Views/ProjectConfigurationView.axaml.cs b/App/WeddingBuilder/Views/ProjectConfigurationView.axaml.cs
index 6e09ce1..f088146 100644
--- a/App/WeddingBuilder/Views/ProjectConfigurationView.axaml.cs
+++ b/App/WeddingBuilder/Views/ProjectConfigurationView.axaml.cs
@@ -1,7 +1,7 @@
using Avalonia.Styling;
-using FluentAvalonia.UI.Controls;
using PropertyChanged;
using System;
+using TheXamlGuy.UI.Avalonia.Controls;
namespace Builder;
@@ -13,5 +13,5 @@ public partial class ProjectConfigurationView : ContentDialog, IStyleable
InitializeComponent();
}
- Type IStyleable.StyleKey => typeof(ContentDialog);
+ Type IStyleable.StyleKey => typeof(FluentAvalonia.UI.Controls.ContentDialog);
}
diff --git a/App/WeddingBuilder/Views/ProjectView.axaml b/App/WeddingBuilder/Views/ProjectView.axaml
index ed30dfd..0b095c8 100644
--- a/App/WeddingBuilder/Views/ProjectView.axaml
+++ b/App/WeddingBuilder/Views/ProjectView.axaml
@@ -2,7 +2,6 @@
x:Class="Builder.ProjectView"
xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:fluent="using:FluentAvalonia.UI.Controls"
Loaded="{Navigate {Binding EventAggregator},
ProjectConfiguration}">
@@ -12,7 +11,7 @@
HorizontalAlignment="Right"
Classes="accent"
Content="New project" />
-
+ Loaded="{Composite {ChangeProperty {Binding $parent[ContentDialog]},
+ Classes,
+ Project}}">
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
diff --git a/Framework/Avalonia/Avalonia.csproj b/Framework/Avalonia/Avalonia.csproj
index 9471f50..d011a6e 100644
--- a/Framework/Avalonia/Avalonia.csproj
+++ b/Framework/Avalonia/Avalonia.csproj
@@ -14,14 +14,9 @@
+
-
-
- References\FluentAvalonia.dll
-
-
-
diff --git a/Framework/Avalonia/References/FluentAvalonia.dll b/Framework/Avalonia/References/FluentAvalonia.dll
deleted file mode 100644
index f3091eb..0000000
Binary files a/Framework/Avalonia/References/FluentAvalonia.dll and /dev/null differ
diff --git a/Framework/Avalonia/Routing/ContentControlRouteHandler.cs b/Framework/Avalonia/Routing/ContentControlRouteHandler.cs
index 8a13998..423d888 100644
--- a/Framework/Avalonia/Routing/ContentControlRouteHandler.cs
+++ b/Framework/Avalonia/Routing/ContentControlRouteHandler.cs
@@ -1,22 +1,8 @@
using Avalonia.Controls;
using Avalonia.Controls.Primitives;
-using FluentAvalonia.UI.Controls;
namespace TheXamlGuy.Framework.Avalonia;
-public class ContentDialogRouteHandler : RouteHandler
-{
- public override async void Handle(Route request)
- {
- if (request.Template is ContentDialog contentDialog)
- {
- contentDialog.DataContext = request.Data;
- await contentDialog.ShowAsync();
- }
- }
-}
-
-
public class ContentControlRouteHandler : RouteHandler
{
public override void Handle(Route request)
diff --git a/Framework/Avalonia/Routing/ContentDialogRouteHandler.cs b/Framework/Avalonia/Routing/ContentDialogRouteHandler.cs
new file mode 100644
index 0000000..765fc2d
--- /dev/null
+++ b/Framework/Avalonia/Routing/ContentDialogRouteHandler.cs
@@ -0,0 +1,15 @@
+using TheXamlGuy.UI.Avalonia.Controls;
+
+namespace TheXamlGuy.Framework.Avalonia;
+
+public class ContentDialogRouteHandler : RouteHandler
+{
+ public override async void Handle(Route request)
+ {
+ if (request.Template is ContentDialog contentDialog)
+ {
+ contentDialog.DataContext = request.Data;
+ await contentDialog.ShowAsync();
+ }
+ }
+}
diff --git a/Framework/Avalonia/Routing/FrameRouteHandler.cs b/Framework/Avalonia/Routing/FrameRouteHandler.cs
index d19c4b0..9d09346 100644
--- a/Framework/Avalonia/Routing/FrameRouteHandler.cs
+++ b/Framework/Avalonia/Routing/FrameRouteHandler.cs
@@ -1,6 +1,6 @@
using Avalonia.Controls.Primitives;
-using FluentAvalonia.UI.Controls;
using FluentAvalonia.UI.Navigation;
+using TheXamlGuy.UI.Avalonia.Controls;
namespace TheXamlGuy.Framework.Avalonia;
diff --git a/Framework/Avalonia/Routing/RouterContext.cs b/Framework/Avalonia/Routing/RouterContext.cs
index 2cea9c7..c33892b 100644
--- a/Framework/Avalonia/Routing/RouterContext.cs
+++ b/Framework/Avalonia/Routing/RouterContext.cs
@@ -1,7 +1,7 @@
using Avalonia.Controls;
using Avalonia.Controls.Primitives;
-using FluentAvalonia.UI.Controls;
using TheXamlGuy.Framework.Core;
+using TheXamlGuy.UI.Avalonia.Controls;
namespace TheXamlGuy.Framework.Avalonia;
diff --git a/UI/Avalonia.Controls/Avalonia.Controls.csproj b/UI/Avalonia.Controls/Avalonia.Controls.csproj
index 50f864c..0bd423c 100644
--- a/UI/Avalonia.Controls/Avalonia.Controls.csproj
+++ b/UI/Avalonia.Controls/Avalonia.Controls.csproj
@@ -8,6 +8,7 @@
+
diff --git a/UI/Avalonia.Controls/ContentDialog/ContentDialog.cs b/UI/Avalonia.Controls/ContentDialog/ContentDialog.cs
new file mode 100644
index 0000000..646dde3
--- /dev/null
+++ b/UI/Avalonia.Controls/ContentDialog/ContentDialog.cs
@@ -0,0 +1,8 @@
+using Avalonia.Styling;
+
+namespace TheXamlGuy.UI.Avalonia.Controls;
+
+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/UI/Avalonia.Controls/Frame/Frame.cs b/UI/Avalonia.Controls/Frame/Frame.cs
new file mode 100644
index 0000000..339cac9
--- /dev/null
+++ b/UI/Avalonia.Controls/Frame/Frame.cs
@@ -0,0 +1,8 @@
+using Avalonia.Styling;
+
+namespace TheXamlGuy.UI.Avalonia.Controls;
+
+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/UI/Avalonia.Controls/IconElement/PathIconEx.cs b/UI/Avalonia.Controls/IconElement/PathIconEx.cs
new file mode 100644
index 0000000..c3dfa3d
--- /dev/null
+++ b/UI/Avalonia.Controls/IconElement/PathIconEx.cs
@@ -0,0 +1,8 @@
+using Avalonia.Styling;
+
+namespace TheXamlGuy.UI.Avalonia.Controls;
+
+public class PathIconEx : FluentAvalonia.UI.Controls.FAPathIcon, IStyleable
+{
+ Type IStyleable.StyleKey => typeof(FluentAvalonia.UI.Controls.FAPathIcon);
+}
\ No newline at end of file
diff --git a/UI/Avalonia.Controls/IconElement/PathIconSource.cs b/UI/Avalonia.Controls/IconElement/PathIconSource.cs
new file mode 100644
index 0000000..83f1748
--- /dev/null
+++ b/UI/Avalonia.Controls/IconElement/PathIconSource.cs
@@ -0,0 +1,7 @@
+namespace TheXamlGuy.UI.Avalonia.Controls
+{
+ public class PathIconSource : FluentAvalonia.UI.Controls.PathIconSource
+ {
+
+ }
+}
\ No newline at end of file
diff --git a/UI/Avalonia.Controls/NavigationView/NavigationView.cs b/UI/Avalonia.Controls/NavigationView/NavigationView.cs
new file mode 100644
index 0000000..484f579
--- /dev/null
+++ b/UI/Avalonia.Controls/NavigationView/NavigationView.cs
@@ -0,0 +1,8 @@
+using Avalonia.Styling;
+
+namespace TheXamlGuy.UI.Avalonia.Controls;
+
+public class NavigationView : FluentAvalonia.UI.Controls.NavigationView, IStyleable
+{
+ Type IStyleable.StyleKey => typeof(FluentAvalonia.UI.Controls.NavigationView);
+}
diff --git a/UI/Avalonia.Controls/NavigationView/NavigationViewItem.cs b/UI/Avalonia.Controls/NavigationView/NavigationViewItem.cs
new file mode 100644
index 0000000..e7a08d7
--- /dev/null
+++ b/UI/Avalonia.Controls/NavigationView/NavigationViewItem.cs
@@ -0,0 +1,8 @@
+using Avalonia.Styling;
+
+namespace TheXamlGuy.UI.Avalonia.Controls;
+
+public class NavigationViewItem : FluentAvalonia.UI.Controls.NavigationViewItem, IStyleable
+{
+ Type IStyleable.StyleKey => typeof(FluentAvalonia.UI.Controls.NavigationViewItem);
+}
diff --git a/UI/Avalonia.Controls/Properties/Assembly.cs b/UI/Avalonia.Controls/Properties/Assembly.cs
new file mode 100644
index 0000000..966bf26
--- /dev/null
+++ b/UI/Avalonia.Controls/Properties/Assembly.cs
@@ -0,0 +1,3 @@
+using Avalonia.Metadata;
+
+[assembly: XmlnsDefinition("https://github.com/avaloniaui", "TheXamlGuy.UI.Avalonia.Controls")]
\ No newline at end of file
diff --git a/UI/Avalonia.Controls/SettingsExpander/SettingsExpander.cs b/UI/Avalonia.Controls/SettingsExpander/SettingsExpander.cs
new file mode 100644
index 0000000..3d01b5f
--- /dev/null
+++ b/UI/Avalonia.Controls/SettingsExpander/SettingsExpander.cs
@@ -0,0 +1,8 @@
+using Avalonia.Styling;
+
+namespace TheXamlGuy.UI.Avalonia.Controls;
+
+public class SettingsExpander : FluentAvalonia.UI.Controls.SettingsExpander, IStyleable
+{
+ Type IStyleable.StyleKey => typeof(FluentAvalonia.UI.Controls.SettingsExpander);
+}
\ No newline at end of file
diff --git a/UI/Avalonia/Avalonia.csproj b/UI/Avalonia/Avalonia.csproj
index aec5e80..62d94d6 100644
--- a/UI/Avalonia/Avalonia.csproj
+++ b/UI/Avalonia/Avalonia.csproj
@@ -12,9 +12,4 @@
-
-
- References\FluentAvalonia.dll
-
-
diff --git a/UI/Avalonia/Properties/Assembly.cs b/UI/Avalonia/Properties/Assembly.cs
index 9360605..9eaa1de 100644
--- a/UI/Avalonia/Properties/Assembly.cs
+++ b/UI/Avalonia/Properties/Assembly.cs
@@ -1,4 +1,3 @@
using Avalonia.Metadata;
-[assembly: XmlnsDefinition("https://github.com/avaloniaui", "FluentAvalonia.UI.Controls")]
[assembly: XmlnsDefinition("https://github.com/avaloniaui", "TheXamlGuy.UI.Avalonia")]
\ No newline at end of file