Browse Source

Cleanup StyleInclude and ResourceInclude in the Core project

pull/9413/head
Max Katz 3 years ago
parent
commit
a0f0e161cb
  1. 3
      src/Markup/Avalonia.Markup.Xaml/Avalonia.Markup.Xaml.csproj
  2. 22
      src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/StyleIncludeExtension.cs
  3. 30
      src/Markup/Avalonia.Markup.Xaml/Styling/ResourceInclude.cs
  4. 4
      src/Markup/Avalonia.Markup.Xaml/Styling/StyleInclude.cs

3
src/Markup/Avalonia.Markup.Xaml/Avalonia.Markup.Xaml.csproj

@ -33,9 +33,7 @@
<Compile Include="MarkupExtensions\OnFormFactorExtension.cs" />
<Compile Include="MarkupExtensions\OnPlatformExtension.cs" />
<Compile Include="MarkupExtensions\ResolveByNameExtension.cs" />
<Compile Include="MarkupExtensions\ResourceInclude.cs" />
<Compile Include="MarkupExtensions\StaticResourceExtension.cs" />
<Compile Include="MarkupExtensions\StyleIncludeExtension.cs" />
<Compile Include="Parsers\PropertyParser.cs" />
<Compile Include="Converters\BitmapTypeConverter.cs" />
<Compile Include="Converters\IconTypeConverter.cs" />
@ -45,6 +43,7 @@
<Compile Include="MarkupExtensions\RelativeSourceExtension.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="RuntimeXamlLoaderConfiguration.cs" />
<Compile Include="Styling\ResourceInclude.cs" />
<Compile Include="Styling\StyleInclude.cs" />
<Compile Include="Templates\ControlTemplate.cs" />
<Compile Include="Templates\DataTemplate.cs" />

22
src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/StyleIncludeExtension.cs

@ -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; }
}
}

30
src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/ResourceInclude.cs → 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
{
/// <summary>
/// Loads a resource dictionary from a specified URL.
/// </summary>
public class ResourceInclude : IResourceProvider
{
private Uri? _baseUri;
private readonly Uri? _baseUri;
private IResourceDictionary? _loaded;
private bool _isLoading;
/// <summary>
/// Initializes a new instance of the <see cref="ResourceInclude"/> class.
/// </summary>
/// <param name="baseUri">The base URL for the XAML context.</param>
public ResourceInclude(Uri? baseUri)
{
_baseUri = baseUri;
}
/// <summary>
/// Initializes a new instance of the <see cref="ResourceInclude"/> class.
/// </summary>
/// <param name="serviceProvider">The XAML service provider.</param>
public ResourceInclude(IServiceProvider serviceProvider)
{
_baseUri = serviceProvider.GetContextBaseUri();
}
/// <summary>
/// Gets the loaded resource dictionary.
/// </summary>
@ -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;
}
}
}

4
src/Markup/Avalonia.Markup.Xaml/Styling/StyleInclude.cs

@ -12,7 +12,7 @@ namespace Avalonia.Markup.Xaml.Styling
/// </summary>
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 <see cref="StyleInclude"/> class.
/// </summary>
/// <param name="baseUri">The base URL for the XAML context.</param>
public StyleInclude(Uri baseUri)
public StyleInclude(Uri? baseUri)
{
_baseUri = baseUri;
}

Loading…
Cancel
Save