Silverlight:以编程方式绑定控件属性

时间:2009-07-14 16:19:35

标签: silverlight mvvm binding

大图:我有一个自定义子控件,可以根据我设置的属性生成各种文本框,日期选择器,组合等。此控件嵌入在SL应用程序中的各个位置。

我通常使用MVVM模式,我想将这些动态控件的值绑定回主页面视图模型。

我总是知道窗体上会有8个控件,所以我可以使用依赖属性来绑定控件。然后引用此控件的控件可以使用与已保存MVVM模式时输入的数据绑定。

问题:如何以编程方式将动态控件的值绑定到依赖项属性?

谢谢, 标记

2 个答案:

答案 0 :(得分:10)

让我们假设你已经动态创建了一个简单的TextBox,并且你想在Text属性上添加一个绑定: -

 Binding binding = new Binding("SomeProperty");
 binding.Mode = BindingMode.TwoWay;

 txtBox.SetBinding(TextBox.TextProperty, binding);

其中txtBox是您想要观察/变异的动态创建的TextBox。

答案 1 :(得分:8)

马克,我不完全确定我已经理解了你问题中的含义,但你考虑过Binding类吗?例如:

Customer customer = new Customer();
TextBox box = new TextBox();
Binding binding = new Binding("FullName");
binding.Source = customer;
box.SetBinding(TextBox.TextProperty, binding);

这会将TextBox控件的“Text”依赖项属性绑定到客户对象的“FullName”属性。