2013-03-18 4 views
0

Итак, моя настройка такова; У меня в моей программе C# для Windows Phone 8 несколько элементов 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 из свойств поля данного эллипса. –

ответ

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

спасибо, что сработало! Мне просто пришлось заменить «Ellipse» на полную версию System.Windows.Shapes.Ellipse, и тогда все в порядке! –

+0

@ GilGuday enjoy ...! – asitis

Смежные вопросы