如何从对象发送方提取属性值
本文关键字:提取 属性 方提取 对象 | 更新日期: 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)做其他事情