2012-04-29 12 views
0

私はWPFの初心者です。私はボタンクリックハンドラの下にコードを置いて、ボタンをクリックした後に10個の垂直線があると思いますが、1つしかありません。ありがとう! 「spDrawPanel」はスタックパネルです。なぜこのコードはWPFで10行を作成しませんか?

 double aw = this.spDrawPanel.ActualWidth; 
     double ah = this.spDrawPanel.ActualHeight; 
     for (int i = 1; i <= 10; i++) 
     { 
      Line ln = new Line(); 
      ln.Stroke = Brushes.Black; 
      ln.X1 = aw/10 * i; 
      ln.Y1 = ah; 
      ln.X2 = aw/10 * i; 
      ln.Y2 = ah - 15; 
      ln.StrokeThickness = 1; 
      this.spDrawPanel.Children.Add(ln); 
     } 
+0

デバッガでブレークポイントを設定して、実際にspDrawPanel.Childrenコレクションに子が10個あることを確認し、結果の行のX/Y座標を確認しましたか? – BTownTKD

+0

はい、10人の子供がいて、そのx/yは異なります。 – user1363629

+0

「aw」の値は何ですか? –

答えて

1

問題は、あなたがお互いからStackPanelデフォルトのスタックによってどの各行Verticalyを使用していて、StackPanelから開始されているので、あなたは、不動産が不足しているということです。 Y1を15に設定し、Y2を0に設定してみると、10行が得られます。

+1

ありがとうございます!はい、問題はStackPanelによって引き起こされます。私は単にStackPanelをCanvasに置き換えます。すべて正常に動作します。感謝万円。 – user1363629

+0

@ user1363629喜んでお手伝いします –

関連する問題