public static IPainter Create(CommonDesignerCanvas designerCanvas, ElementBase element) { Type type = element.GetType(); var primitive = element as IPrimitive; if (primitive != null && primitive.Primitive != Primitive.NotPrimitive) return (IPainter)Activator.CreateInstance(_painters[primitive.Primitive], designerCanvas, element); var args = new PainterFactoryEventArgs(designerCanvas, element); EventService.EventAggregator.GetEvent<PainterFactoryEvent>().Publish(args); return args.Painter ?? new DefaultPainter(designerCanvas, element); }
public ElementViewModel(ElementBase elementBase) { ElementBase = elementBase; ElementType = ElementBase.GetType(); }