我们很难保证所有的业务类都是为WPF项目准备的,因此不是所有的绑定都是用类的属性值,有可能是利用方法的返回值来获得绑定数据。在不重新设计底层类的情况下,使用ObjectDataProvider 来实现方法作为数据绑定源。
先写一个类的加法方法,然后利用ObjectDataProvider进行绑定和处理。
1、加法类和方法
class Calculator
{
//加法
public string Add(string arg1, string arg2)
{
double x = 0;
double y = 0;
double z = 0;
if (double.TryParse(arg1, out x) && double.TryParse(arg2, out y))
{
z = x + y;
return z.ToString();
}
else
{
return "Input Error!";
}
}
}
2、调用时如此书写
ObjectDataProvider odp = new ObjectDataProvider();
//指定使用的类
odp.ObjectInstance = new Calculator();
//指定使用的方法
odp.MethodName = "Add";
//方法参数应该按顺序添加
odp.MethodParameters.Add("100");
odp.MethodParameters.Add("200");
//odp.Data.ToString() 获得方法返回值
MessageBox.Show(odp.Data.ToString());