private void DragDropService_PreviewDragDrop(object sender, RadDropEventArgs e) { DiagramListViewVisualItem dragItem = e.DragInstance as DiagramListViewVisualItem; RadDiagramElement dropTarget = e.HitTarget as RadDiagramElement; if (dragItem != null && dropTarget != null && dragItem.Data.Key == "Image") { e.Handled = true; RadDiagramShape shape = dropTarget.Shapes.Last() as RadDiagramShape; shape.DiagramShapeElement.Shape = null; shape.BackColor = Color.Transparent; try { OpenFileDialog open = new OpenFileDialog(); open.Filter = "Image Files(*.jpg; *.jpeg; *.gif; *.bmp)|*.jpg; *.jpeg; *.gif; *.bmp"; if (open.ShowDialog() == DialogResult.OK) { Bitmap bit = new Bitmap(open.FileName); shape.DiagramShapeElement.Image = bit; } } catch (Exception) { throw new ApplicationException("Failed loading image"); } shape.DiagramShapeElement.ImageLayout = dragItem.ImageLayout; } ; }
//public class AShape : ElementShape //{ // //public override GraphicsPath CreatePath(Rectangle bounds) // //{ // // GraphicsPath path = new GraphicsPath(); // // path.AddString("PcsTec", new FontFamily("Arial"), 0, 50, Point.Empty, StringFormat.GenericTypographic); // // return path; // //} //} private void radDiagramToolbox1_VisualItemFormatting(object sender, ListViewVisualItemEventArgs e) { DiagramListViewDataItem dataItem = e.VisualItem.Data as DiagramListViewDataItem; if (dataItem != null) { if (dataItem.Key == "Image") { DiagramListViewVisualItem visual = e.VisualItem as DiagramListViewVisualItem; visual.Image = Properties.Resources.background_ok; visual.ImageLayout = ImageLayout.Zoom; visual.ShapeElement.Opacity = 0; } } }