wpf绘制圆形图案

 

<Window x:Class="DrawArrow.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="550" Width="625">
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="30"/>
            <RowDefinition Height="282*"/>
        </Grid.RowDefinitions>
        <StackPanel Orientation="Horizontal">
            <Button Click="btn_DrawLines_Click" Content="DrawLines" Margin="4"></Button>
            <Button Content="Draw Circle" Click="Button_Click"></Button>
            <Label Content="Start X" Margin="2"></Label>
            <TextBox Name="tb_startX" Text="10" Width="40" Margin="4"></TextBox>
            <Label Content="Start Index" Margin="2"></Label>
            <TextBox Name="tb_startIndex" Text="3" Width="40" Margin="4"></TextBox>
            <Label Content="End Index" Margin="2"></Label>
            <TextBox Name="tb_EndIndex" Text="5" Width="40" Margin="4"></TextBox>
            <CheckBox IsChecked="True" Name="cb_IsPass" Content="Is Pass" Margin="4"></CheckBox>
            <Button Click="btn_Clear_Click" Content="Clear" Margin="4"></Button>
        </StackPanel>
        <StackPanel Name="FlowPanel" Grid.Row="1" Orientation="Horizontal">

        </StackPanel>
    </Grid>
</Window>

 


        /// <summary>
        /// 作出圆圈
        /// </summary>
        private void DrawCircle(double x, double y, int r, Brush PenColor)
        {
            Path x_Arrow = new Path();//x轴箭头

            x_Arrow.Fill = PenColor;

            PathFigure x_Figure = new PathFigure();
            x_Figure.IsClosed = true;
            x_Figure.StartPoint = new Point(x, y);//路径的起点
            x_Figure.Segments.Add(new ArcSegment(new Point(x, y + r/2), new Size(2 * r, 2 * r), 1, true, SweepDirection.Counterclockwise, true));


            PathGeometry x_Geometry = new PathGeometry();

            x_Geometry.Figures.Add(x_Figure);

            x_Arrow.Data = x_Geometry;


            Canvas chartCanvas = new Canvas();
            chartCanvas.Children.Add(x_Arrow);
            FlowPanel.Children.Add(chartCanvas);
        }