1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
|
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
namespace WpfDrawArc
{
/// <summary>
/// Logique d'interaction pour WinArcCode.xaml
/// </summary>
public partial class WinArcCode : Window
{
public WinArcCode()
{
InitializeComponent();
}
private void myButton_Click(object sender, RoutedEventArgs e)
{
//-1 ArcSegment to define the geometry of the path.
ArcSegment myArcSegment = new ArcSegment();
myArcSegment.Size = new Size(90, 90);
myArcSegment.SweepDirection = SweepDirection.Clockwise;
myArcSegment.IsStroked = true;
myArcSegment.IsLargeArc = false;
myArcSegment.IsSmoothJoin = true;
myArcSegment.Point = new Point(150, 150);
// 2- PathSegmentCollection.
PathSegmentCollection myPathSegmentCollection = new PathSegmentCollection();
myPathSegmentCollection.Add(myArcSegment);
// 3- PathFigure to be used for the PathGeometry of myPath.
PathFigure myPathFigure = new PathFigure();
// starting point for the PathFigure
myPathFigure.StartPoint = new Point(50, 50);
myPathFigure.Segments = myPathSegmentCollection;
// 4- PathFigureCollection myPathFigureCollection = new PathFigureCollection();
PathFigureCollection myPathFigureCollection = new PathFigureCollection();
myPathFigureCollection.Add(myPathFigure);
// 5- PathGeometry
PathGeometry myPathGeometry = new PathGeometry();
myPathGeometry.Figures = myPathFigureCollection;
// 6- Path to draw a geometry with.
Path myPath = new Path();
myPath.Stroke = Brushes.Black;
myPath.StrokeThickness = 1;
// 7- specify the shape of the path
myPath.Data = myPathGeometry;
// 8- ajout au canvas
this.myCanvas.Children.Add(myPath);
}
}
} |