Browse Source

Added IResourceDictionary.

pull/1136/head
Steven Kirk 9 years ago
parent
commit
39fc0ccdb5
  1. 13
      src/Avalonia.Styling/Controls/IResourceDictionary.cs
  2. 2
      src/Avalonia.Styling/Controls/ResourceDictionary.cs
  3. 7
      src/Avalonia.Styling/Styling/Style.cs

13
src/Avalonia.Styling/Controls/IResourceDictionary.cs

@ -0,0 +1,13 @@
using System;
using System.Collections;
using System.Collections.Generic;
namespace Avalonia.Controls
{
/// <summary>
/// An indexed dictionary of resources.
/// </summary>
public interface IResourceDictionary : IDictionary<string, object>
{
}
}

2
src/Avalonia.Styling/Controls/ResourceDictionary.cs

@ -7,7 +7,7 @@ namespace Avalonia.Controls
/// <summary> /// <summary>
/// An indexed dictionary of resources. /// An indexed dictionary of resources.
/// </summary> /// </summary>
public class ResourceDictionary : IDictionary<string, object>, IDictionary public class ResourceDictionary : IResourceDictionary, IDictionary
{ {
private Dictionary<string, object> _inner = new Dictionary<string, object>(); private Dictionary<string, object> _inner = new Dictionary<string, object>();

7
src/Avalonia.Styling/Styling/Style.cs

@ -17,7 +17,7 @@ namespace Avalonia.Styling
private static Dictionary<IStyleable, List<IDisposable>> _applied = private static Dictionary<IStyleable, List<IDisposable>> _applied =
new Dictionary<IStyleable, List<IDisposable>>(); new Dictionary<IStyleable, List<IDisposable>>();
private ResourceDictionary _resources; private IResourceDictionary _resources;
/// <summary> /// <summary>
/// Initializes a new instance of the <see cref="Style"/> class. /// Initializes a new instance of the <see cref="Style"/> class.
@ -38,7 +38,7 @@ namespace Avalonia.Styling
/// <summary> /// <summary>
/// Gets or sets a dictionary of style resources. /// Gets or sets a dictionary of style resources.
/// </summary> /// </summary>
public ResourceDictionary Resources public IResourceDictionary Resources
{ {
get get
{ {
@ -52,15 +52,12 @@ namespace Avalonia.Styling
set set
{ {
var resources = Resources; var resources = Resources;
if (!Equals(resources, value)) if (!Equals(resources, value))
{ {
foreach (var i in value) foreach (var i in value)
{ {
resources[i.Key] = i.Value; resources[i.Key] = i.Value;
//resources.Add(i.Key, i.Value);
//(resources as IDictionary<string,object>).Add(i);
} }
} }
} }

Loading…
Cancel
Save