From a0f0e161cb088121fe2a234b3b3b607dea996615 Mon Sep 17 00:00:00 2001 From: Max Katz Date: Wed, 16 Nov 2022 18:04:38 -0500 Subject: [PATCH] Cleanup StyleInclude and ResourceInclude in the Core project --- .../Avalonia.Markup.Xaml.csproj | 3 +- .../MarkupExtensions/StyleIncludeExtension.cs | 22 -------------- .../ResourceInclude.cs | 30 ++++++++++++------- .../Styling/StyleInclude.cs | 4 +-- 4 files changed, 23 insertions(+), 36 deletions(-) delete mode 100644 src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/StyleIncludeExtension.cs rename src/Markup/Avalonia.Markup.Xaml/{MarkupExtensions => Styling}/ResourceInclude.cs (70%) diff --git a/src/Markup/Avalonia.Markup.Xaml/Avalonia.Markup.Xaml.csproj b/src/Markup/Avalonia.Markup.Xaml/Avalonia.Markup.Xaml.csproj index 070f0c1cc3..b5ba49ce2c 100644 --- a/src/Markup/Avalonia.Markup.Xaml/Avalonia.Markup.Xaml.csproj +++ b/src/Markup/Avalonia.Markup.Xaml/Avalonia.Markup.Xaml.csproj @@ -33,9 +33,7 @@ - - @@ -45,6 +43,7 @@ + diff --git a/src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/StyleIncludeExtension.cs b/src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/StyleIncludeExtension.cs deleted file mode 100644 index 129fa66912..0000000000 --- a/src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/StyleIncludeExtension.cs +++ /dev/null @@ -1,22 +0,0 @@ -using Avalonia.Markup.Xaml.Styling; -using Avalonia.Styling; -using System.ComponentModel; -using System; - -namespace Avalonia.Markup.Xaml.MarkupExtensions -{ - public class StyleIncludeExtension - { - public StyleIncludeExtension() - { - } - - public IStyle ProvideValue(IServiceProvider serviceProvider) - { - return new StyleInclude(serviceProvider.GetContextBaseUri()) { Source = Source }; - } - - public Uri Source { get; set; } - - } -} diff --git a/src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/ResourceInclude.cs b/src/Markup/Avalonia.Markup.Xaml/Styling/ResourceInclude.cs similarity index 70% rename from src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/ResourceInclude.cs rename to src/Markup/Avalonia.Markup.Xaml/Styling/ResourceInclude.cs index 1091b3ec7e..01db2c081f 100644 --- a/src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/ResourceInclude.cs +++ b/src/Markup/Avalonia.Markup.Xaml/Styling/ResourceInclude.cs @@ -1,20 +1,37 @@ using System; -using System.ComponentModel; using Avalonia.Controls; #nullable enable -namespace Avalonia.Markup.Xaml.MarkupExtensions +namespace Avalonia.Markup.Xaml.Styling { /// /// Loads a resource dictionary from a specified URL. /// public class ResourceInclude : IResourceProvider { - private Uri? _baseUri; + private readonly Uri? _baseUri; private IResourceDictionary? _loaded; private bool _isLoading; + /// + /// Initializes a new instance of the class. + /// + /// The base URL for the XAML context. + public ResourceInclude(Uri? baseUri) + { + _baseUri = baseUri; + } + + /// + /// Initializes a new instance of the class. + /// + /// The XAML service provider. + public ResourceInclude(IServiceProvider serviceProvider) + { + _baseUri = serviceProvider.GetContextBaseUri(); + } + /// /// Gets the loaded resource dictionary. /// @@ -61,12 +78,5 @@ namespace Avalonia.Markup.Xaml.MarkupExtensions void IResourceProvider.AddOwner(IResourceHost owner) => Loaded.AddOwner(owner); void IResourceProvider.RemoveOwner(IResourceHost owner) => Loaded.RemoveOwner(owner); - - public ResourceInclude ProvideValue(IServiceProvider serviceProvider) - { - var tdc = (ITypeDescriptorContext)serviceProvider; - _baseUri = tdc?.GetContextBaseUri(); - return this; - } } } diff --git a/src/Markup/Avalonia.Markup.Xaml/Styling/StyleInclude.cs b/src/Markup/Avalonia.Markup.Xaml/Styling/StyleInclude.cs index d92003ad9f..b1725245bb 100644 --- a/src/Markup/Avalonia.Markup.Xaml/Styling/StyleInclude.cs +++ b/src/Markup/Avalonia.Markup.Xaml/Styling/StyleInclude.cs @@ -12,7 +12,7 @@ namespace Avalonia.Markup.Xaml.Styling /// public class StyleInclude : IStyle, IResourceProvider { - private readonly Uri _baseUri; + private readonly Uri? _baseUri; private IStyle[]? _loaded; private bool _isLoading; @@ -20,7 +20,7 @@ namespace Avalonia.Markup.Xaml.Styling /// Initializes a new instance of the class. /// /// The base URL for the XAML context. - public StyleInclude(Uri baseUri) + public StyleInclude(Uri? baseUri) { _baseUri = baseUri; }