I have a data model that I'm trying to draw in a Diagram. I'm having some success with a custom shape class something like below. MyModelElement has X, Y, W, H & Text as well as other model data. I'm getting the bounding box in a different location to my visible shape, and it's always 100x100. I tried adding
Size = new Size(element.W, element.H)in the RadDiagramShape creation below, but didn't change anything. Any help appreciated.
My code to populate the diagram is similar to below.
private void PopulateDiagram(){ foreach (var element in elements) { var elementShape = new MyElementShape(element); var shape = new RadDiagramShape { Text = element.Text, ElementShape = elementShape, ForeColor = Color.Black, DrawBorder = true, BorderThickness = new Padding(1), Position = new Telerik.Windows.Diagrams.Core.Point(element.X, element.Y) }; radDiagram1.AddShape(shape); } public class MYElementShape : ElementShape{ public MyElementShape(MyModelElement element) { _element = element; } public override GraphicsPath CreatePath(Rectangle bounds) { GraphicsPath path = new GraphicsPath(); path.AddRectangle( new Rectangle(_element.X, _element.Y, _element.W, _element.H)); return path; }
}