protected void DrawNode(Canvas drawingCanvas, Point p) { if (drawingCanvas == null) { return; } StartDrawing(drawingCanvas); DDNodeWithHandles newNode = new DDNodeWithHandles(drawingCanvas, new DDPoint(p)); TargetObject.Nodes.Add(newNode); GuideLine.StartPoint = p; GuideLine.EndPoint = p; }
private void xamlButton2_Click(object sender, RoutedEventArgs e) { xamlCanvas.Children.Clear(); Random rand = new Random(); int pCount = rand.Next(30) + 10; DDPolygon[] polygons = new DDPolygon[pCount]; for (int i = 0; i < pCount; i++) { polygons[i] = new DDPolygon(); int nCount = rand.Next(10) + 5; Point pos = new Point(rand.Next(800), rand.Next(800)); Size size = new Size(rand.Next(600) + 50, rand.Next(600) + 50); for (int j = 0; j < nCount; j++) { DDNodeWithHandles node = new DDNodeWithHandles(xamlCanvas) { Point = new Point( pos.X + rand.Next((int)size.Width), pos.Y + rand.Next((int)size.Height)) }; polygons[i].Nodes.Add(node); } polygons[i].Stroke = new SolidColorBrush(Color.FromArgb((byte)(200 + rand.Next(56)), (byte)rand.Next(256), (byte)rand.Next(256), (byte)rand.Next(256))); polygons[i].Fill = new SolidColorBrush(Color.FromArgb((byte)(200 + rand.Next(56)), (byte)rand.Next(256), (byte)rand.Next(256), (byte)rand.Next(256))); polygons[i].StrokeThickness = rand.Next(6); xamlCanvas.Children.Add(polygons[i]); } DDTranslateAndScaleFrame manipulationFrame = new DDTranslateAndScaleFrame(polygons); xamlCanvas.Children.Add(manipulationFrame); }