/// <summary> /// Implementation of Freezable.CloneCurrentValueCore() /// </summary> protected override void CloneCurrentValueCore(Freezable source) { base.CloneCurrentValueCore(source); FreezableCollection <T> sourceFreezableCollection = (FreezableCollection <T>)source; CloneCommon(sourceFreezableCollection, CloneCommonType.CloneCurrentValue); }
/// <summary> /// Implementation of Freezable.GetCurrentValueAsFrozenCore() /// </summary> protected override void GetCurrentValueAsFrozenCore(Freezable source) { base.GetCurrentValueAsFrozenCore(source); FreezableCollection <T> sourceFreezableCollection = (FreezableCollection <T>)source; CloneCommon(sourceFreezableCollection, CloneCommonType.GetCurrentValueAsFrozen); }
public VisualStateGroup() { States = new FreezableCollection <VisualState>(); States.TrySetContextParent(this); Transitions = new FreezableCollection <VisualTransition>(); Transitions.TrySetContextParent(this); }
public VisualStateGroup() { States = new FreezableCollection <VisualState>(); States.SetInheritanceParent(this); Transitions = new FreezableCollection <VisualTransition>(); Transitions.SetInheritanceParent(this); }
internal Enumerator(FreezableCollection <T> list) { Debug.Assert(list != null, "list may not be null."); _list = list; _version = list._version; _index = -1; _current = default(T); }
private void CloneCommon(FreezableCollection <T> source, CloneCommonType cloneType) { int count = source._collection.Count; _collection = new List <T>(count); for (int i = 0; i < count; i++) { T newValue = source._collection[i]; Freezable itemAsFreezable = newValue as Freezable; if (itemAsFreezable != null) { switch (cloneType) { case CloneCommonType.Clone: newValue = itemAsFreezable.Clone() as T; break; case CloneCommonType.CloneCurrentValue: newValue = itemAsFreezable.CloneCurrentValue() as T; break; case CloneCommonType.GetAsFrozen: newValue = itemAsFreezable.GetAsFrozen() as T; break; case CloneCommonType.GetCurrentValueAsFrozen: newValue = itemAsFreezable.GetCurrentValueAsFrozen() as T; break; default: Invariant.Assert(false, "Invalid CloneCommonType encountered."); break; } if (newValue == null) { throw new InvalidOperationException(SR.Get(SRID.Freezable_CloneInvalidType, typeof(T).Name)); } } OnFreezablePropertyChanged(/* oldValue = */ null, newValue); _collection.Add(newValue); } }
public static void SetVisualStateGroups(DependencyObject obj, FreezableCollection <VisualStateGroup> value) { obj.SetValue(VisualStateGroupsProperty, value); }