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); } }
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); } }
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); } }