在c#wpf中的两个用户控件之间共享数据

时间:2016-06-01 16:43:06

标签: c# wpf mvvm binding user-controls

我是每个人,

我有一个包含2个usercontrols的程序,在usercontrol1中有一个 vector<Vec4i> lines; HoughLinesP(dst, lines, 1, CV_PI/180, 80, 50, 10 ); for( size_t i = 0; i < lines.size(); i++ ) { Vec4i l = lines[i]; double x = l[0]-l[2]; double y = l[1]-l[3]; double dist = pow(x,2) + pow(y,2); dist= sqrt(dist); segments.push_back(round(dist)); line( cdst, Point(l[0], l[1]), Point(l[2], l[3]), Scalar(0,0,255), 3, CV_AA); } ,我想在usercontrol2后面的代码中得到这个列表。我听说过MVVM或绑定,但如果有人想帮助我,并解释我最干净的方法,那将是非常好的。非常感谢你 :) 我试过Binding,但我不确定如何使用它:

代码背后的代码:

list<object> ListObject

WPF:

public List<Conf> listConf;

1 个答案:

答案 0 :(得分:0)

您可以为这两个控件创建一个公共ViewModel类,然后将所有共享数据放入其中,并将两个控件的DataContext绑定到该类。

另外,请勿将DataContext绑定到您的列表中。相反,您应该使用ItemsSourceListBox的{​​{1}}来执行此操作,无论您使用哪个。

如果您使用ListView,那就是您应该做的。