Click here to Skip to main content
Sign Up to vote bad
good
See more: C#
I have this code in c# and I want to replace it to wpf. how can I do it?:
protected override void OnPaint(PaintEventArgs pe)
     {
         GraphicsPath p = new GraphicsPath();
         Pen borderPen = new Pen(Color.Red, 3);
         p.AddPolygon(new Point[]
         {
             new Point(-3, this.Height *13/22),
             new Point(this.Width *2/13, -3),
             new Point(this.Width*9/11,0),
             new Point(this.Width,this.Height*2/5),
             new Point(this.Width*6/7,this.Height*170/171),
             new Point(this.Width*2/11,this.Height*170/171)
         });
         this.Region = new Region(p);
 
         if (bold)
         {
             Point[] point = new Point[]
             {
                 new Point(1,this.Height *13/22),
                 new Point(this.Width *2/13, 1),
                 new Point(this.Width*9/11,1),
                 new Point(this.Width*11/17,this.Height *13/22)
             };
             pe.Graphics.DrawPolygon(borderPen, point);
         }
 
         base.OnPaint(pe);
     }
Posted 23 Aug '12 - 23:07

Comments
ridoy - 24 Aug '12 - 5:11
so strange question!

1 solution

The rough idea is this:
PointCollection points = new PointCollection(
{
  new Point(-3, this.Height *13/22),
  new Point(this.Width *2/13, -3),
  new Point(this.Width*9/11,0),
  new Point(this.Width,this.Height*2/5),
  new Point(this.Width*6/7,this.Height*170/171),
  new Point(this.Width*2/11,this.Height*170/171)
 
});
Polygon polygon = new Polygon();
polygon.Points = points;
polygon.Stroke = Brushes.Red;
polygon.StrokeThickness = 3;
polygon.Width = this.Width;
polygon.Height = this.Height;
Then all you need to do is add it to whatever Container you have set in your XAML. Suppose it's a Grid called LayoutRoot, you'd use
LayoutRoot.Children.Add(polygon);
I leave you to add the isBold stuff because that's so similar.
  Permalink  

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
Your Filters
Interested
Ignored
     
0 Ron Beyer 220
1 OriginalGriff 203
2 Mahesh Bailwal 190
3 Aarti Meswania 185
4 Rohan Leuva 180
0 Sergey Alexandrovich Kryukov 8,548
1 OriginalGriff 6,819
2 CPallini 3,648
3 Rohan Leuva 2,933
4 Maciej Los 2,288


Advertise | Privacy | Mobile
Web02 | 2.6.130516.1 | Last Updated 24 Aug 2012
Copyright © CodeProject, 1999-2013
All Rights Reserved. Terms of Use
Layout: fixed | fluid