我们很难保证所有的业务类都是为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());