예제 #1
0
		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);
		}
예제 #2
0
		public ElementViewModel(ElementBase elementBase)
		{
			ElementBase = elementBase;
			ElementType = ElementBase.GetType();
		}