WPF Привязка текстового поля к свойству всех элементов в общем списке - PullRequest
1 голос
/ 23 декабря 2010

То, что я хочу сделать, просто. У меня есть общий список объектов. Допустим, класс объекта содержит свойство с именем Height. То, что я хочу сделать, это связать текст текстового поля в пользовательском интерфейсе с этим списком, и когда я изменяю значение в текстовом поле, все объекты в списке обновляют свое значение высоты. Я новичок в WPF, я изучил шаблон MVVM, я могу сделать простое связывание данных, но я не могу понять, как это сделать: '(Спасибо!

Ответы [ 2 ]

2 голосов
/ 23 декабря 2010

Я хотел бы иметь свойство вашего ViewModel (назовем его ObjectHeight), которое связано с текстовым значением TextBox.Когда свойство text изменяется (т. Е. В set для ObjectHeight), проведите проверку, чтобы проверить, является ли оно допустимым значением, затем выполните итерацию по списку объектов (который, я полагаю, вы получаете из вашей модели), устанавливая свойство Height для.

0 голосов
/ 23 декабря 2010

Вам нужно будет выполнить привязку другим способом, то есть не использовать xaml для привязки к свойству Height отдельного объекта, а вместо этого использовать код-позади, чтобы добавить привязку к каждому объекту в списке.

Примерно так (не проверено):

Binding binding = new Binding("Text");
binding.source = TheTextBox;
binding.Mode = BindingMode.OneWay;
foreach (var o in myList)
o.setBinding(TheElementType.HeightProperty, binding);

Возможно, вам придется создать один объект привязки для каждого целевого объекта;и свойство Высота объекта, вероятно, должно быть DependencyProperty.

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