Silverlight: программно связывающие свойства элемента управления - PullRequest
6 голосов
/ 14 июля 2009

Общая картина: У меня есть собственный дочерний элемент управления, который генерирует различные текстовые поля, средства выбора даты, комбо и т. Д. На основе свойств, которые я установил. Этот элемент управления встроен в различные места в моем приложении SL.

Обычно я использую шаблон MVVM и хочу связать значения этих динамических элементов управления обратно в мою модель представления главной страницы.

Я всегда знаю, что в форме будет 8 элементов управления, поэтому у меня могут быть свойства зависимостей для элементов управления, к которым они будут привязаны. Затем элементы управления, которые ссылаются на этот элемент управления, могут использовать привязку с данными, которые были введены, при сохранении шаблона MVVM.

Вопрос: Как программно связать значения динамических элементов управления со свойствами зависимостей?

Спасибо, Mark

Ответы [ 2 ]

10 голосов
/ 14 июля 2009

Предположим, вы динамически создали простой TextBox и хотите добавить привязку к свойству Text: -

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

 txtBox.SetBinding(TextBox.TextProperty, binding);

Где txtBox - это динамически создаваемый TextBox, который вы хотите наблюдать / изменить.

8 голосов
/ 14 июля 2009

Марк, я не совсем уверен, что понял смысл вашего вопроса, но рассматривали ли вы класс Binding? Например:

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

Это связывает свойство зависимостей «Text» элемента управления TextBox со свойством «FullName» объекта заказчика.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...