void Layout_ElementRemoved(object sender, LayoutElementEventArgs e) { if (_suspendLayoutItemCreation) return; CollectLayoutItemsDeleted(); }
void Layout_ElementRemoved(object sender, LayoutElementEventArgs e) { if (_suspendLayoutItemCreation) return; if (e.Element is LayoutContent) { var layoutItem = _layoutItems.First(item => item.LayoutElement == e.Element); layoutItem.Detach(); _layoutItems.Remove(layoutItem); } else if (e.Element is ILayoutContainer) { foreach (var content in e.Element.Descendents().OfType<LayoutContent>()) { var itemToRemove = _layoutItems.First(item => item.LayoutElement == content); itemToRemove.Detach(); _layoutItems.Remove(itemToRemove); } } }
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(); }
void Layout_ElementAdded(object sender, LayoutElementEventArgs e) { if (_suspendLayoutItemCreation) return; if (e.Element is LayoutDocument) { var document = e.Element as LayoutDocument; var documentItem = new LayoutDocumentItem(); documentItem.Attach(document); ApplyStyleToLayoutItem(documentItem); _layoutItems.Add(documentItem); } else if (e.Element is LayoutAnchorable) { var anchorable = e.Element as LayoutAnchorable; var anchorableItem = new LayoutAnchorableItem(); anchorableItem.Attach(anchorable); ApplyStyleToLayoutItem(anchorableItem); _layoutItems.Add(anchorableItem); } else if (e.Element is ILayoutContainer) { foreach (var document in e.Element.Descendents().OfType<LayoutDocument>().ToArray()) { var documentItem = new LayoutDocumentItem(); documentItem.Attach(document); ApplyStyleToLayoutItem(documentItem); _layoutItems.Add(documentItem); } foreach (var anchorable in e.Element.Descendents().OfType<LayoutAnchorable>().ToArray()) { var anchorableItem = new LayoutAnchorableItem(); anchorableItem.Attach(anchorable); ApplyStyleToLayoutItem(anchorableItem); _layoutItems.Add(anchorableItem); } } }