internal void Attach(FrameworkElement frameworkElement) { foreach (Setter setter in this.Setters) { setter.Attach(frameworkElement); } }
public static IEnumerable GetChildren(FrameworkElement current) { IEnumerator i = current.LogicalChildren; while (i.MoveNext()) { yield return i.Current; } }
internal override void Attach(FrameworkElement target, DependencyObject parent) { DependencyObject source = parent; if (this.SourceName != null) { source = (DependencyObject)target.FindName(this.SourceName); } this.attached.Add(source, target); if (this.CheckCondition(source)) { this.Setters.Attach(target); this.applied.Add(target); } IObservableDependencyObject observable = (IObservableDependencyObject)source; observable.AttachPropertyChangedHandler(this.Property.Name, this.ValueChanged); }
private void PropagateTemplatedParent(FrameworkElement element, DependencyObject templatedParent) { element.TemplatedParent = templatedParent; foreach (FrameworkElement child in LogicalTreeHelper.GetChildren(element).OfType<FrameworkElement>()) { child.TemplatedParent = templatedParent; } }
private INameScope FindNameScope(FrameworkElement e) { while (e != null) { INameScope nameScope = e as INameScope ?? NameScope.GetNameScope(e); if (nameScope != null) { return nameScope; } e = LogicalTreeHelper.GetParent(e) as FrameworkElement; } return null; }
internal abstract void Detach(FrameworkElement frameworkElement);
internal override void Detach(FrameworkElement frameworkElement) { if (this.TargetName != null) { frameworkElement = (FrameworkElement)frameworkElement.FindName(this.TargetName); } frameworkElement.SetValue(this.Property, this.oldValues[frameworkElement]); this.oldValues.Remove(frameworkElement); }
internal override void Attach(FrameworkElement frameworkElement) { object oldValue = DependencyProperty.UnsetValue; if (this.TargetName != null) { frameworkElement = (FrameworkElement)frameworkElement.FindName(this.TargetName); } if (!frameworkElement.IsUnset(this.Property)) { oldValue = frameworkElement.GetValue(this.Property); } this.oldValues.Add(frameworkElement, oldValue); frameworkElement.SetValue(this.Property, this.ConvertValue(this.Value)); }