public ConditionalSetterBehavior (SetterCondition condition, SetterBehavior behavior) { Behavior = behavior; Condition = condition; Condition.GetProperty ("IsMatch").DependencyPropertyValueChanged += HandleIsMatchChanged; }
private void ApplyStyle (Style style) { foreach (var setter in style.Setters.OfType<Setter>()) { var operation = new SetterBehavior (this, setter); operation.Apply (); setterOperations.Add (operation); } foreach (var trigger in style.Triggers) { var condition = new SetterCondition (this, trigger.Property, trigger.Value); foreach (var setter in trigger.Setters) { var operation = new ConditionalSetterBehavior (condition, new SetterBehavior (this, setter)); operation.Apply (); setterOperations.Add (operation); } } }