我有一个小的usercontrol,它基本上将值递增或递减1。用户控件有两个按钮(一个用于添加,另一个用于减去)和一个用于显示值的textBlock。
我将在另一个usercontrol中拥有此usercontrol的多个实例,因此我可以操作具有INotifyPropertyChanged接口的数据类的值。我的问题是如何将更改usercontrol的值的textBlock数据绑定到我在其中实现的usercontrol?
答案 0 :(得分:4)
首先,我想声明Silverlight 2不支持元素到元素绑定。该功能已添加到Silverlight 3中(现在在Beta版中)。话虽如此,我认为你不想将控件绑定在一起。听起来你正在尝试构建一个NumericUpDown控件,你可能在代码后面有一些实际上正在进行递增和递减的类。
如果是这种情况,您只需订阅点击处理程序并在模型上调用方法,如增量或减量。您的模型可以公开当前值的属性,该属性是绑定到文本框的属性。
现在,如果您正在尝试构建NumericUpDown控件,则可能需要查看Silverlight Toolkit。该工具包已包含此控件,并且还支持数据绑定。
查看NumericUpDown Control here并下载工具包here。
最后,从子控件到父控件的绑定确实没有任何区别。父UserControl有一个DataContext,所有子控件都继承它。每个单独的子控件也可以设置其DataContext。绑定表达式始终相对于DataContext,DataContext可以在代码中设置。在你的情况下,可能是某种模型。
我希望有所帮助。