Пример #1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="StyleItem"/> class.
        /// </summary>
        public StyleItem(Style style, FrameworkElement source, string name, string location, StyleScope scope)
        {
            Style    = style;
            Name     = name;
            Location = location;
            Scope    = scope;

            // Setters
            foreach (Setter setter in style.Setters)
            {
                if (setter.Property.Name == "OverridesDefaultStyle" && setter.Value.ToString().ToLower() == "true")
                {
                    OverridesDefaultStyle = true;
                }
                _setterItems.Add(new SetterItem(setter, source));
            }

            // Triggers
            foreach (var trigger in style.Triggers)
            {
                _triggerItems.Add(TriggerItemFactory.GetTriggerItem(trigger, source, TriggerSource.Style));
            }

            // Ressources
            foreach (var resource in ResourceHelper.GetResourcesRecursively <object>(style.Resources))
            {
                _resourceItems.Add(ResourceItemFactory.CreateResourceItem(resource.Key, resource.Owner, source, ResourceScope.Style));
            }

            GlobalIndex = StyleHelper.GetGlobalIndex(style);
        }
Пример #2
0
 private void AddTriggers(FrameworkElement instance, IEnumerable <TriggerBase> triggersToAdd, TriggerSource source)
 {
     foreach (var trigger in triggersToAdd)
     {
         var triggerItem = TriggerItemFactory.GetTriggerItem(trigger, instance, source);
         if (triggerItem != null)
         {
             this.triggers.Add(triggerItem);
         }
     }
 }