Example #1
0
        private void OnProjectContextDocumentClosedLate(object sender, ProjectDocumentEventArgs e)
        {
            List <SceneView> list1 = (List <SceneView>)null;

            if (this.pendingViewsForClosedDocuments.TryGetValue(e.Document, out list1))
            {
                this.pendingViewsForClosedDocuments.Remove(e.Document);
                List <SceneView> list2 = (List <SceneView>)null;
                foreach (SceneView sceneView in list1)
                {
                    if (ViewUpdateManager.GetDocumentRelation(sceneView, e.Document) == ViewUpdateManager.DocumentRelation.Related)
                    {
                        if (list2 == null)
                        {
                            list2 = new List <SceneView>();
                        }
                        list2.Add(sceneView);
                    }
                }
                if (list2 != null)
                {
                    this.InvalidateViewsInternal((ICollection <SceneView>)list2);
                }
            }
            SceneView activeView = this.DesignerContext.ActiveView;

            if (activeView == null)
            {
                return;
            }
            activeView.RebuildUserControls(e.Document);
        }
Example #2
0
 private void ProjectContext_DocumentClosing(object sender, ProjectDocumentEventArgs e)
 {
     if (e.Document == null || e.Document.DocumentRoot == null)
     {
         return;
     }
     this.schemaCache.Clear(e.Document.DocumentRoot);
 }
Example #3
0
        private void OnProjectContextDocumentOpened(object sender, ProjectDocumentEventArgs e)
        {
            if (e.Document == null || e.Document.DocumentType != ProjectDocumentType.Application && e.Document.DocumentType != ProjectDocumentType.ResourceDictionary)
            {
                return;
            }
            SceneDocument sceneDocument = e.Document.Document as SceneDocument;

            if (!Enumerable.Contains <SceneDocument>(sceneDocument.DesignTimeResourceDocuments, sceneDocument))
            {
                return;
            }
            this.RefreshViewUpdatesForDesignTimeResources(false);
        }
Example #4
0
        private void OnProjectContextDocumentClosedEarly(object sender, ProjectDocumentEventArgs e)
        {
            IProjectDocument document      = e.Document;
            SceneDocument    sceneDocument = e.Document.Document as SceneDocument;

            if (sceneDocument == null)
            {
                return;
            }
            List <SceneView> list1 = (List <SceneView>)null;

            if (this.primaryViewsForDocument.TryGetValue(sceneDocument, out list1))
            {
                foreach (SceneView sceneView in new List <SceneView>((IEnumerable <SceneView>)list1))
                {
                    sceneView.SuspendUpdatesForViewShutdown();
                    this.Unregister(sceneView);
                }
            }
            List <SceneView> list2 = (List <SceneView>)null;

            if (!this.relatedViewsForDocument.TryGetValue(sceneDocument, out list2))
            {
                return;
            }
            List <SceneView> list3 = new List <SceneView>((IEnumerable <SceneView>)list2);

            foreach (SceneView sceneView in list3)
            {
                ViewUpdateManager.RelatedDocumentTable relatedDocumentTable = this.relatedDocumentsForView[sceneView];
                this.UnregisterRelatedDocumentInternal(sceneView, sceneDocument);
                relatedDocumentTable.Remove(sceneDocument);
            }
            List <SceneView> list4;

            if (!this.pendingViewsForClosedDocuments.TryGetValue(e.Document, out list4))
            {
                this.pendingViewsForClosedDocuments.Add(e.Document, list3);
            }
            else
            {
                list4.AddRange(Enumerable.Except <SceneView>((IEnumerable <SceneView>)list3, (IEnumerable <SceneView>)list4));
            }
        }