Как извлечь значение свойства из объекта отправителя? - PullRequest
2 голосов
/ 04 мая 2011

Два различных элемента управления ползунком запускают эту функцию ниже, их имена являются seektomediaposition и seektomediaposition2.

public void seektomediaposition_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
    {

string name = Convert.ToString(e.Source.GetType().GetProperty("Name"));//wont return what i need.
MessageBox.Show(name);
if(name=="seektomediaposition")
  // whatever is the code
if(name=="seektomediaposition2")
  // whatever is the code

    }

e.Source.GetType () вернет тип Slider.

e.Source.GetType (). GetProperty («Name») вернет «Name» вместо «seektomediaposition» или любого другого имени элемента управления, вызвавшего событие для этой функции.

Как я могу получить имя, отображаемое в этом окне сообщениячтобы я мог принять свое решение на основании этого?

Ответы [ 2 ]

3 голосов
/ 04 мая 2011

GetProperty () возвращает объект PropertyInfo. После этого вы можете вызвать GetValue (e.Source, null).

public void seektomediaposition_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
    {

string name = Convert.ToString(e.Source.GetType().GetProperty("Name").GetValue(e.Source, null));
MessageBox.Show(name);
if(name=="seektomediaposition")
  // whatever is the code
if(name=="seektomediaposition2")
  // whatever is the code

    }
1 голос
/ 04 мая 2011

Ваша функция "seektomediaposition_ValueChanged (отправитель объекта, RoutedPropertyChangedEventArgs e)" имеет отправителя объекта.

, поэтому здесь вы можете сказатьif (отправитель == seektomediaposition) делает это иначе if (sender == seektomediaposition2) делает другое

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...