0

ボタンをクリックしたときにボタンを別のボタンに接続する線を描く方法をテストしていますsettop setleftX2 Y2ラインの (始点と終点の減算)を設定する必要があることはわかっていますが、何を減算するか、およびこれをどのように行うかについて本当に混乱しています。

これは私が試したことです:

 int k = 20;
 for (int i = 0; i < 4; i++)
 {
      Button btn = new Button();
      btn.Content = i.ToString();
      btn.Height = 20;
      btn.Width = 20;
      Canvas.SetTop(btn,k); // 20
      Canvas.SetLeft(btn, 20); // 10 
      Canvas1.Children.Add(btn);
      btn.PreviewMouseDown += (source, e) =>
      {
          // No idea how to set X2 , Y2 for the line's end point.
          Line line = new Line();
          //line.X2 = ;
          //line.Y2 = ;
          line.Stroke = Brushes.Red;
          line.StrokeThickness = 4;
          Canvas.SetLeft(line,40); // Suppose this is where the line should start 
          Canvas.SetTop(line ,40); // for button " 0 " .
          Canvas1.Children.Add(line);
      };
      k += 20;
 }
 for (int i = 0; i < 4; i++)
 {
      Button btn2 = new Button();
      btn2.Content = i.ToString();
      btn2.Height = 20;
      btn2.Width = 20;
      Canvas.SetTop(btn2, k); // 20
      Canvas.SetRight(btn2, 20); // 10
      Canvas1.Children.Add(btn2);
      btn2.PreviewMouseDown += (source, e) =>
      {
          //Draw Line to connect here.
      };
      k += 20;
  }

btn から btn2 に線を引こうとしています。

プレビュー画像

また、ボタンを同じレベルに調整するにはどうすればよいですか。今のところ、右のボタン ( btn2 ) は左のボタン ( btn ) よりも少し低いので、右のボタンと左のボタンを結ぶ線を引きたいと思います。ボタン 0 をクリックすると、 0 は 0 に線を引きます。

4

1 に答える 1