大图:我有一个自定义子控件,可以根据我设置的属性生成各种文本框,日期选择器,组合等。此控件嵌入在SL应用程序中的各个位置。
我通常使用MVVM模式,我想将这些动态控件的值绑定回主页面视图模型。
我总是知道窗体上会有8个控件,所以我可以使用依赖属性来绑定控件。然后引用此控件的控件可以使用与已保存MVVM模式时输入的数据绑定。
问题:如何以编程方式将动态控件的值绑定到依赖项属性?
谢谢, 标记
答案 0 :(得分:10)
让我们假设你已经动态创建了一个简单的TextBox,并且你想在Text属性上添加一个绑定: -
Binding binding = new Binding("SomeProperty");
binding.Mode = BindingMode.TwoWay;
txtBox.SetBinding(TextBox.TextProperty, binding);
其中txtBox是您想要观察/变异的动态创建的TextBox。
答案 1 :(得分:8)
Customer customer = new Customer();
TextBox box = new TextBox();
Binding binding = new Binding("FullName");
binding.Source = customer;
box.SetBinding(TextBox.TextProperty, binding);
这会将TextBox控件的“Text”依赖项属性绑定到客户对象的“FullName”属性。