Hello,
I have two custom shapes. One contains the other. When I resize the principal in the diagram, I resize manually in the code the secundary. The problem is that I can not selected the principal shape if the size is little. If I don't resize de secundari, the resized works correctly.
The code of resize is:
"this" is the principal shape ( RadDiagramShape)
"wire" is the secundari shape ( RadDiagramShape)
private void PositionShape_SizeChanged(object sender, SizeChangedEventArgs e){ this.Border = (OriginalStrokeThickness / Scale); this.OriginalWidth = e.NewSize.Width / Scale; this.OriginalHeight = e.NewSize.Height / Scale; this.OriginalPosition = new Point(this.Position.X / Scale, this.Position.Y / Scale); if (e.PreviousSize.Width != 0 && e.PreviousSize.Height != 0) { switch (OrientaActual) { case 'N': this.Wire.WireHeight = (this.OriginalHeight * 2)*Scale; this.Wire.WireWidth = this.OriginalWidth*Scale; this.Wire.WirePosition = new Point(this.Position.X, this.Position.Y - this.Wire.Height); break; case 'E': this.Wire.WireHeight = (this.OriginalHeight * 2)*Scale; this.Wire.WireWidth = this.OriginalWidth*Scale; this.Wire.WirePosition = new Point(this.Position.X + this.Height * 1.5, this.Position.Y - this.Height / 2); break; case 'S': this.Wire.WireHeight = (this.OriginalHeight * 2)*Scale; this.Wire.WireWidth = this.OriginalWidth*Scale; this.Wire.WirePosition = new Point(this.Position.X, (this.Position.Y + this.Height)); break; case 'W': this.Wire.WireHeight = (this.OriginalHeight * 2)*Scale; this.Wire.WireWidth = this.OriginalWidth*Scale; this.Wire.WirePosition = new Point((this.Position.X - this.Width / 2) - this.Wire.Width, this.Position.Y- this.Height / 2); break; } } }