예제 #1
0
 private void LSF(object sender, Xceed.Wpf.AvalonDock.Layout.Serialization.LayoutSerializationCallbackEventArgs arg)
 {
     if (!string.IsNullOrWhiteSpace(arg.Model.ContentId))
     {
         Uri u;
         if (!Uri.TryCreate(arg.Model.ContentId, UriKind.Absolute, out u))
         {
             Log.Warning("Restore Layout({0}) - Bad ContentID", arg.Model.ContentId);
             arg.Cancel = true;
             return;
         }
         string view = u.Query;
         if (view != null && view.StartsWith("?view="))
         {
             view = view.Substring(6);
         }
         else
         {
             view = null;
         }
         arg.Content = App.Workspace.Open(u.GetLeftPart(UriPartial.Path), view);
     }
 }
예제 #2
0
 private static void LayoutSerializer_LayoutSerializationCallback(object sender, Xceed.Wpf.AvalonDock.Layout.Serialization.LayoutSerializationCallbackEventArgs e)
 {
     if (e.Model is LayoutAnchorable)
     {
         foreach (var panel in CurrentWorkspace.PanelsAvailable)
         {
             if (panel.ContentId != e.Model.ContentId)
             {
                 continue;
             }
             e.Content = panel;
             CurrentWorkspace.PanelsDisplayed.Add(panel);
             break;
         }
     }
     else if (e.Model is LayoutDocument)
     {
         var doc = CurrentWorkspace.GetNewDocument(e.Model.ContentId);
         e.Content = doc;
         CurrentWorkspace.DocumentsDisplayed.Add(doc);
     }
 }
예제 #3
0
 private static void LayoutSerializer_LayoutSerializationCallback(object sender, Xceed.Wpf.AvalonDock.Layout.Serialization.LayoutSerializationCallbackEventArgs e)
 {
     if (e.Model is LayoutAnchorable)
     {
         foreach (var panel in Instance.AvailablePanels)
         {
             if (panel.ContentId != e.Model.ContentId)
             {
                 continue;
             }
             e.Content = panel;
             Instance.AvalonDockPanels.Add(panel);
             break;
         }
     }
     else if (e.Model is LayoutDocument)
     {
         var doc = Instance.CreateDocument(new Uri(e.Model.ContentId, UriKind.RelativeOrAbsolute), ECreateDocumentModes.AddFileReferenceOrNull);
         if (doc == null)
         {
             e.Cancel = true;
             return;
         }
         e.Content = doc;
         Instance.AvalonDockDocuments.Add(doc);
     }
 }