2009-08-26 10 views
3

これはベジェコードを描画するXAMLスクリプトです。私が必要とするのは、同じ結果を達成するがXAMLを使用しない純粋なC#コードです。XAMLをC#コードに変換する際に助けが必要

誰でもC#コードに変換することができますか?

ありがとうございます!

マイク

<Path Stroke="Black" StrokeThickness="1"> 
    <Path.Data> 
    <PathGeometry> 
     <PathGeometry.Figures> 
     <PathFigureCollection> 
      <PathFigure StartPoint="10,100"> 
      <PathFigure.Segments> 
       <PathSegmentCollection> 
       <BezierSegment Point1="100,0" Point2="200,200" Point3="300,100" /> 
       </PathSegmentCollection> 
      </PathFigure.Segments> 
      </PathFigure> 
     </PathFigureCollection> 
     </PathGeometry.Figures> 
    </PathGeometry> 
    </Path.Data> 
</Path> 

答えて

4

私はこのコードをテストし、それが動作します。

 Path path = new Path(); 
     path.Stroke = new SolidColorBrush(Colors.Black); 
     path.StrokeThickness = 10; 
     PathGeometry pg = new PathGeometry(); 
     PathFigureCollection pfc = new PathFigureCollection(); 
     PathFigure fig = new PathFigure(); 
     PathSegmentCollection psc = new PathSegmentCollection(); 
     BezierSegment bs1 = new BezierSegment(new Point(100, 0), new Point(200, 200), new Point(300, 100), true); 
     psc.Add(bs1); 
     fig.Segments = psc; 
     pfc.Add(fig); 
     pg.Figures = pfc; 
     path.Data = pg; 
+0

私は(ロードされたウィンドウ内にジョンのコードを使用)が、曲線がありませんでした。 xamlコードは完全に機能していました。エラーも希望の出力も表示されません。それとも、それは私が間違った場所に第二のコードを配置している。私はWPFクラスで全体のC#のコードを配置していた。 を提案を探している」、 おかげで事前 –

0
Path path = new Path(); 
path.Stroke = Brushes.Black; 
path.StrokeThickness = 1; 
PathGeometry pg = new PathGeometry(); 
PathFigureCollection pfc = new PathFigureCollection(); 
PathFigure fig = new PathFigure(); 
fig.StartPoint = new Point(10,100); 
PathSegmentCollection psc = new PathSegmentCollection(); 
BezierSegment bs1 = new BezierSegment(new Point(100, 0), new Point(200, 200), new Point(300, 100), true); 
psc.Add(bs1); 
fig.Segments = psc; 
pfc.Add(fig); 
pg.Figures = pfc; 
path.Data = pg; 
canvas.Children.Add(path); 
+0

にジョンは完璧だったが、2本のラインを逃している。 fig.StartPoint =新しいポイント(10,100); および canvas.Children.Add(path); – subho

関連する問題