// Token: 0x060004F8 RID: 1272 RVA: 0x0000E004 File Offset: 0x0000C204 public static FrameworkContextData From(Dispatcher context) { FrameworkContextData frameworkContextData = (FrameworkContextData)context.Reserved2; if (frameworkContextData == null) { frameworkContextData = new FrameworkContextData(); context.Reserved2 = frameworkContextData; } return(frameworkContextData); }
public static FrameworkContextData From(Dispatcher context) { FrameworkContextData data = (FrameworkContextData)context.Reserved2; if (data == null) { data = new FrameworkContextData(); context.Reserved2 = data; } return data; }
// Token: 0x06000C61 RID: 3169 RVA: 0x0002E1F8 File Offset: 0x0002C3F8 internal static void InvalidateOnTreeChange(FrameworkElement fe, FrameworkContentElement fce, DependencyObject parent, bool isAddOperation) { FrameworkObject frameworkObject = new FrameworkObject(parent); if (!frameworkObject.IsValid) { parent = frameworkObject.FrameworkParent.DO; } FrameworkObject frameworkObject2 = new FrameworkObject(fe, fce); if (isAddOperation) { frameworkObject2.SetShouldLookupImplicitStyles(); } frameworkObject2.Reset(frameworkObject2.TemplatedParent); frameworkObject2.HasTemplateChanged = false; DependencyObject dependencyObject = (fe != null) ? fe : fce; if (fe != null) { if (fe.IsInitialized && !fe.HasLocalStyle) { fe.HasStyleChanged = false; fe.HasStyleInvalidated = false; fe.HasTemplateChanged = false; fe.AncestorChangeInProgress = true; fe.UpdateStyleProperty(); fe.AncestorChangeInProgress = false; } } else if (!fce.HasLocalStyle) { fce.HasStyleChanged = false; fce.HasStyleInvalidated = false; fce.AncestorChangeInProgress = true; fce.UpdateStyleProperty(); fce.AncestorChangeInProgress = false; } if (TreeWalkHelper.HasChildren(fe, fce)) { FrameworkContextData frameworkContextData = FrameworkContextData.From(dependencyObject.Dispatcher); if (frameworkContextData.WasNodeVisited(dependencyObject, TreeWalkHelper.TreeChangeDelegate)) { return; } TreeChangeInfo data = new TreeChangeInfo(dependencyObject, parent, isAddOperation); PrePostDescendentsWalker <TreeChangeInfo> prePostDescendentsWalker = new PrePostDescendentsWalker <TreeChangeInfo>(TreeWalkPriority.LogicalTree, TreeWalkHelper.TreeChangeDelegate, TreeWalkHelper.TreeChangePostDelegate, data); frameworkContextData.AddWalker(TreeWalkHelper.TreeChangeDelegate, prePostDescendentsWalker); try { prePostDescendentsWalker.StartWalk(dependencyObject); return; } finally { frameworkContextData.RemoveWalker(TreeWalkHelper.TreeChangeDelegate, prePostDescendentsWalker); } } TreeChangeInfo info = new TreeChangeInfo(dependencyObject, parent, isAddOperation); TreeWalkHelper.OnAncestorChanged(fe, fce, info); bool visitedViaVisualTree = false; TreeWalkHelper.OnPostAncestorChanged(dependencyObject, info, visitedViaVisualTree); }