如何从对象发送方提取属性值

本文关键字:提取 属性 方提取 对象 | 更新日期: 2023-09-27 17:54:35

两个不同的滑动条控件触发下面的函数,它们的名字分别是seektomediposition和seektomediposition2。

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.c ource. gettype()将返回类型Slider。

e.c ource. gettype (). getproperty ("Name")将返回"Name"而不是" seektomediposition "或引发此函数事件的控件名称。

我怎样才能得到显示在消息框上的名字,这样我就可以根据它做出决定?

如何从对象发送方提取属性值

GetProperty()返回PropertyInfo对象。这样你就可以调用GetValue(e。源,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
    }

你的函数" seektomediposition_valuechanged (object sender, RoutedPropertyChangedEventArgs e)"有一个对象发送者。

所以这里你可以输入
If (sender == seektommediposition)这样做否则if (sender == seektomedipostion2)做其他事情