From 4ef2979d61d5bc448d9f24edba2694bd810a9949 Mon Sep 17 00:00:00 2001 From: Easley Date: Thu, 26 Mar 2026 09:45:12 +0100 Subject: [PATCH] apply pipboytheme to sample.infinitynavigation --- samples/Sample.InfinityNavigation/App.axaml | 17 ++++++++++------- samples/Sample.InfinityNavigation/App.axaml.cs | 3 +++ .../Converters/BoolToBrushConverter.cs | 16 +++++++++++++--- .../Sample.InfinityNavigation.csproj | 11 ++++++----- .../Views/InfinityView.axaml | 2 +- 5 files changed, 33 insertions(+), 16 deletions(-) diff --git a/samples/Sample.InfinityNavigation/App.axaml b/samples/Sample.InfinityNavigation/App.axaml index 004db28..b968e04 100644 --- a/samples/Sample.InfinityNavigation/App.axaml +++ b/samples/Sample.InfinityNavigation/App.axaml @@ -1,10 +1,13 @@ - - - + + + - + + \ No newline at end of file diff --git a/samples/Sample.InfinityNavigation/App.axaml.cs b/samples/Sample.InfinityNavigation/App.axaml.cs index 2127064..9258a19 100644 --- a/samples/Sample.InfinityNavigation/App.axaml.cs +++ b/samples/Sample.InfinityNavigation/App.axaml.cs @@ -2,7 +2,9 @@ using Avalonia; using Avalonia.Controls.ApplicationLifetimes; using Avalonia.Markup.Xaml; +using Avalonia.Media; using Microsoft.Extensions.DependencyInjection; +using Pipboy.Avalonia; using Sample.Common; using Sample.InfinityNavigation.Views; @@ -17,6 +19,7 @@ public override void Initialize() public override void OnFrameworkInitializationCompleted() { + PipboyThemeManager.Instance.SetPrimaryColor(Color.Parse("#4CAF50")); var services = new ServiceCollection(); #pragma warning disable IL2026 services.AddNavigationSupport() diff --git a/samples/Sample.InfinityNavigation/Converters/BoolToBrushConverter.cs b/samples/Sample.InfinityNavigation/Converters/BoolToBrushConverter.cs index 85d10a8..a4fd5af 100644 --- a/samples/Sample.InfinityNavigation/Converters/BoolToBrushConverter.cs +++ b/samples/Sample.InfinityNavigation/Converters/BoolToBrushConverter.cs @@ -1,4 +1,6 @@ -using Avalonia.Data.Converters; +using Avalonia; +using Avalonia.Controls; +using Avalonia.Data.Converters; using Avalonia.Media; using System; using System.Globalization; @@ -9,8 +11,16 @@ public class BoolToBrushConverter : IValueConverter { public object? Convert(object? value, Type targetType, object? parameter, CultureInfo culture) { - var isActvie = (bool)value!; - return isActvie ? Brushes.Orange : Brushes.Gray; + var isActive = (bool)value!; + + var key = isActive ? "PipboyBorderBrush" : "PipboyPrimaryDarkBrush"; + + if (Application.Current!.TryFindResource(key, out var resource)) + { + return resource as IBrush; + } + + return null; } public object? ConvertBack(object? value, Type targetType, object? parameter, CultureInfo culture) diff --git a/samples/Sample.InfinityNavigation/Sample.InfinityNavigation.csproj b/samples/Sample.InfinityNavigation/Sample.InfinityNavigation.csproj index 01576a7..f6136f2 100644 --- a/samples/Sample.InfinityNavigation/Sample.InfinityNavigation.csproj +++ b/samples/Sample.InfinityNavigation/Sample.InfinityNavigation.csproj @@ -17,16 +17,17 @@ - - - - + + + + - + None All + diff --git a/samples/Sample.InfinityNavigation/Views/InfinityView.axaml b/samples/Sample.InfinityNavigation/Views/InfinityView.axaml index a4b326f..f8658fb 100644 --- a/samples/Sample.InfinityNavigation/Views/InfinityView.axaml +++ b/samples/Sample.InfinityNavigation/Views/InfinityView.axaml @@ -25,7 +25,7 @@ CommandParameter="InfinityView" Content="{Binding ButtonText}" DockPanel.Dock="{Binding InstanceNumber, Converter={StaticResource NumberToDockConverter}}" /> - +