R[h
pathMesh[0] = new Path(); PathGeometry pg = new PathGeometry(); PathFigure pf; pf = new PathFigure(); pf.StartPoint = new Point(x0B1[0], 0); pf.Segments.Add(new LineSegment(new Point(x0B1[0],y0B+10),true)); pg.Figures.Add(pf); for (int i = 10; i <= 90; i+=10) { pf = new PathFigure(); pf.StartPoint = new Point(x0B1[0]+wxB[0]*i, y0B); pf.Segments.Add(new LineSegment(new Point(x0B1[0]+wxB[0]*i, y0B + 10), true)); pg.Figures.Add(pf); } pathMesh[0].Data = pg; pathMesh[0].Stroke = Brushes.Gray; canvasB.Children.Add(pathMesh[0]);
// Create a path to draw a geometry with. Path myPath = new Path(); myPath.Stroke = Brushes.Black; myPath.StrokeThickness = 1; // Create a StreamGeometry to use to specify myPath. StreamGeometry geometry = new StreamGeometry(); geometry.FillRule = FillRule.EvenOdd; // Open a StreamGeometryContext that can be used to describe this StreamGeometry // object's contents. using (StreamGeometryContext ctx = geometry.Open()) { // Begin the triangle at the point specified. Notice that the shape is set to // be closed so only two lines need to be specified below to make the triangle. ctx.BeginFigure(new Point(10, 100), true /* is filled */, true /* is closed */); // Draw a line to the next specified point. ctx.LineTo(new Point(100, 100), true /* is stroked */, false /* is smooth join */); // Draw another line to the next specified point. ctx.LineTo(new Point(100, 50), true /* is stroked */, false /* is smooth join */); } // Freeze the geometry (make it unmodifiable) // for additional performance benefits. geometry.Freeze(); // Specify the shape (triangle) of the Path using the StreamGeometry. myPath.Data = geometry; // Add path shape to the UI. StackPanel mainPanel = new StackPanel(); mainPanel.Children.Add(myPath); this.Content = mainPanel;