2013-03-18 108 views
0

所以我的設置是這樣的;我在Windows Phone 8的C#程序中使用了多個Ellipse元素,當鼠標進入時,所有這些元素都調用相同的方法Checkpoint。問題是,因爲我將在最近輸入的橢圓和先前輸入的橢圓之間畫一條線,所以我需要知道給定的調用來自哪個橢圓。如果有幫助,代碼如下:如何從方法內獲得調用方法的對象

Point old; 
private void CheckPoint(object sender, System.Windows.Input.MouseEventArgs e) 
     { 

      if (old.Equals(null)) 
      { 
       old.Equals(this.); 
      } 
      else 
      { 
       System.Windows.Shapes.Line connectline = new System.Windows.Shapes.Line(); 
       connectline.X1 = old.Margin.Left; 
       connectline.Y1 = old.Margin.Top; 
       connectline.X2 = this. ; 
       connectline.Y2 = this. 
      } 
     } 

正如你所看到的,這段代碼是不完整的;舊的應該設置爲通過代碼塊後按下的任何一個橢圓。 「這個」。是不完整的,將被來自調用該方法的橢圓的邊界屬性替代。謝謝大家!

+0

所以只是作爲一個更新,我知道old.Equals(本);變老了.Equals(寄件人);但我不確定如何從給定橢圓的邊界屬性中獲取X2和Y2值。 – 2013-03-18 05:58:08

回答

2

您可以識別哪些是Selected Ellipse通過

private void CheckPoint(object sender, System.Windows.Input.MouseEventArgs e) 
    { 
     var selectedEllipse = sender as Ellipse; 

     if(selectedEllipse!=null) 
     { 
      //Your code here 
     } 
    } 
+0

謝謝,這工作!我只需用完整的System.Windows.Shapes.Ellipse替換「Ellipse」,然後就可以了! – 2013-03-18 06:04:00

+0

@GilGuday享受...! – asitis 2013-03-18 06:06:26