private void AddNodeChildren(ParentableInstance parentableInstance) { foreach (var entity in parentableInstance.NodeChildren) { CanvasInstancesSource.Add(entity); AddNodeChildren(entity); } }
private void GraphicInstances_EntityRemoved(object sender, EntityCollectionChangedEventArgs <GraphicInstance> e) { if (e.Entity is RootInstance) { RootInstances.Remove(e.Entity as RootInstance); if (CanvasRootElement == e.Entity) { UpdateCanvasInstancesSource(); } } else { if (CanvasInstancesSource.Contains(e.Entity)) { CanvasInstancesSource.Remove(e.Entity); } } }
public void AddInstance(GraphicInstance graphicInstance) { if (graphicInstance is RootInstance) { if (!RootInstances.Contains(graphicInstance as RootInstance)) { RootInstances.Add(graphicInstance as RootInstance); if (CanvasRootElement == graphicInstance) { UpdateCanvasInstancesSource(); } } } else { if (CanvasRootElement != null && CanvasRootElement == GetRootParent(graphicInstance) && !CanvasInstancesSource.Contains(graphicInstance)) { CanvasInstancesSource.Add(graphicInstance); } } }