Example #1
0
 private void CopyResourcesFrom(SkinDictionary skinDictionary)
 {
     foreach (var keyValuePair in skinDictionary)
     {
         AddCore(keyValuePair.Key, CloneValue(keyValuePair.Value));
     }
 }
Example #2
0
        private SkinDictionary EnsureKey(ThemeResourceKey themeKey)
        {
            var keyParts = themeKey.KeyParts;
            var current  = this;

            for (var i = 0; i < keyParts.Count - 1; i++)
            {
                var keyPart = keyParts[i];

                SkinDictionary skinDictionary;

                if (current.Dictionary.TryGetValue(keyPart, out var currentValue) == false)
                {
                    skinDictionary = new SkinDictionary();

                    current.AddDictionaryValue(keyPart, skinDictionary);
                }
                else
                {
                    skinDictionary = currentValue as SkinDictionary;

                    if (skinDictionary == null)
                    {
                        throw new InvalidOperationException();
                    }
                }

                current = skinDictionary;
            }

            return(current);
        }
Example #3
0
        private SkinDictionary ShallowClone()
        {
            var clone = new SkinDictionary();

            clone.ShallowCopyFrom(this);
            clone.CopyResourcesFrom(this);

            return(clone);
        }
Example #4
0
        private void ShallowCopyFrom(SkinDictionary skinDictionary)
        {
            Key          = skinDictionary.Key;
            DeferredKey  = skinDictionary.DeferredKey;
            BasedOnFlags = skinDictionary.BasedOnFlags;

#if INTERACTIVITY_DEBUG
            Debug = skinDictionary.Debug;
#endif
        }
Example #5
0
 private static IEnumerator <SkinDictionary> GetChildSkinDictionaryEnumerator(SkinDictionary skinDictionary)
 {
     return(skinDictionary.Dictionary.Values.OfType <SkinDictionary>().GetEnumerator());
 }