文章分類

2013年7月24日 星期三

[WPF] 兩點畫一直線

目標要在兩個image之間畫一條線,容器名稱Canvas1

//建立Line物件
//設定線條顏色
//設定線條粗細
 
  Line line1 = new Line();       
  line1.Stroke = System.Windows.Media.Brushes.Green;           
  line1.StrokeThickness = 10;

//兩點畫一直線,如果單純GetLeft、GetTop就是左上角相連
//以下是變化,視需求而定,此例為image1在下方,image2在上方
//image1的中間上面,和image2的中間下面,相連一條線
//第一點的X座標,設在image1的左邊界(GetLeft) + 二分之一寬度 = 寬的中間
//第一點的Y座標,設在image1的上邊界(GetTop) =原高度
//第二點的X座標,設在image2的左邊界(GetLeft) + 二分之一寬度 = 寬的中間
//第二點的Y座標,設在image2的上邊界(GetTop) + 一倍高度 = 底

  line1.X1 = Canvas.GetLeft(image1) + image1.Width / 2;
  line1.Y1 = Canvas.GetTop(image1);
  line1.X2 = Canvas.GetLeft(image2) + image2.Width / 2;
  line1.Y2 = Canvas.GetTop(image2) + image2.Height ;

//在容器Canvas1的子區況加上line1 (才能看到)
  Canvas1.Children.Add(line1);

//如果要動態不斷更新"線"的位置,每次都要先
  Canvas1.Children.Clear();

沒有留言:

張貼留言