/// <summary> /// Adds a layout element to the layout /// </summary> public bool AddToLayout(LayoutElement le) { LayoutHelper.SetUniqueElementName(LayoutElements, le); Lock(); var args = new LayoutElementEventArgs(le) { Cancel = false }; DelegateHelper.FireEvent(this, NewElement, args); if (args.Cancel) { return(false); } _layoutElements.Insert(0, le); FireElementsChanged(); le.Invalidated += OnElementInvalidated; AddToSelection(le); le.Initialized = true; Unlock(); return(true); }
static void Layout_ElementRemoved(object sender, LayoutElementEventArgs e) { LayoutDocument layoutDoc = e.Element as LayoutDocument; var floating = e.Element as LayoutDocumentFloatingWindow; var layoutPanel = e.Element as LayoutDocumentPane; if (layoutDoc != null) { var frame = layoutDoc.Content as Frame; if (layoutDoc.ContentId == "CodeRemoval") { if (TaskbarManager.Instance.TabbedThumbnail.IsThumbnailPreviewAdded(frame)) { ThumbnailButtonsHelper.RemoveButtons(TaskbarManager.Instance.TabbedThumbnail.GetThumbnailPreview(frame)); } //Tab closed from preview -> clean frame handlers frame.ContentRendered -= frame_ContentRendered; CloseTab(frame); return; } if (frame != null) { RemovePreview(frame); } } else if (floating != null) { return; } else if (layoutPanel != null) { return; } }
private void LayoutControlMouseDoubleClick(object sender, MouseEventArgs e) { if (DesignMode) { return; } var pnt = ScreenToPaper(e.Location); foreach (var el in LayoutElements) { if (el.ClickWithin((int)pnt.X, (int)pnt.Y)) { var args = new LayoutElementEventArgs(el) { Cancel = false }; DelegateHelper.FireEvent(this, ElementDoubleClicked, args); if (!args.Cancel) { DoInvalidate(); } break; } } }
private void Layout_ElementRemoved(object sender, LayoutElementEventArgs e) { LayoutAnchorable an = e.Element as LayoutAnchorable; if (an != null) { _region.Remove(an.Content); } // LayoutRoot root = sender as LayoutRoot; //root.RemoveChild(e.Element); }
static void Layout_ElementAdded(object sender, LayoutElementEventArgs e) { LayoutDocument layoutDoc = e.Element as LayoutDocument; var floating = e.Element as LayoutDocumentFloatingWindow; var layoutPanel = e.Element as LayoutDocumentPane; if (layoutDoc != null) { Frame frame = layoutDoc.Content as Frame; if (frame != null) { //Add new frame rendered event handler. Create frame preview after it is rendered frame.ContentRendered -= frame_ContentRendered; frame.ContentRendered += frame_ContentRendered; //refreshing frame to force calling frame_ContentRendered after adding new tab from flowing frame.Refresh(); } } else if (floating != null) { layoutDoc = floating.RootDocument as LayoutDocument; if (layoutDoc != null) { Frame frame = layoutDoc.Content as Frame; if (frame != null) { //Add new frame rendered event handler. Create frame preview after it is rendered frame.ContentRendered -= frame_ContentRendered; frame.ContentRendered += frame_ContentRendered; //refreshing frame to force calling frame_ContentRendered after adding new tab from flowing frame.Refresh(); } } } else if (layoutPanel != null) { layoutDoc = layoutPanel.SelectedContent as LayoutDocument; if (layoutDoc != null) { Frame frame = layoutDoc.Content as Frame; if (frame != null) { //Add new frame rendered event handler. Create frame preview after it is rendered frame.ContentRendered -= frame_ContentRendered; frame.ContentRendered += frame_ContentRendered; //refreshing frame to force calling frame_ContentRendered after adding new tab from flowing frame.Refresh(); } } } RefreshAllPreviews(); }
private static void ElementAdded(object sender, LayoutElementEventArgs e) { if (e.Element is LayoutAnchorable anchorable) { AdjustAnchorableHideAndCloseCommands(anchorable); } else { foreach (var anchorable2 in e.Element.Descendents().OfType <LayoutAnchorable>()) { AdjustAnchorableHideAndCloseCommands(anchorable2); } } }
/// <summary> /// Initializes element added by user manually. /// </summary> private void OnNewElement(object sender, LayoutElementEventArgs e) { switch (e.Element.Type) { case ElementType.Table: { if (!OpenTableDialog(e.Element as LayoutTable)) { e.Cancel = true; } break; } } }
/// <summary> /// Opens element specific editing dialog for the element /// </summary> private void OnElementDoubleClicked(object sender, LayoutElementEventArgs e) { switch (e.Element.Type) { case ElementType.Table: { if (EditTable(e.Element as LayoutTable, false)) { return; } break; } } e.Cancel = true; }
private static void ElementAdded(object sender, LayoutElementEventArgs e) { AdjustAnchorableHideAndCloseCommands(e.Element as LayoutAnchorable); }
private void Layout_ElementAdded(object sender, LayoutElementEventArgs e) { if (_suspendLayoutItemCreation) return; foreach (var content in Layout.Descendents().OfType<LayoutContent>()) { if (content is LayoutDocument) CreateDocumentLayoutItem(content as LayoutDocument); else //if (content is LayoutAnchorable) CreateAnchorableLayoutItem(content as LayoutAnchorable); } CollectLayoutItemsDeleted(); }
private void Layout_ElementRemoved(object sender, LayoutElementEventArgs e) { if (_suspendLayoutItemCreation) return; CollectLayoutItemsDeleted(); }