Усовершенствованное связывание со списком из кода - PullRequest
0 голосов
/ 08 октября 2009

Предположим, у меня есть бизнес-объект 'obj1' со свойством 'P'.

Давайте также предположим, что у меня есть список бизнес-объектов: 'List<BussObj> list', и каждый объект BussObj содержит 2 свойства: 'A' и 'B'.

Этот список связан со списком: combobox.ItemsSource = list;.

Я хотел бы указать привязку (в коде C #), которая будет привязывать combobox.SelectedItem.B к моему obj.P. Как это сделать?

Я пробовал что-то подобное, но это не работает:

Binding bind= new Binding("B");
bind.Source = obj.P;
comboSubject.SetBinding(ComboBox.SelectedItemProperty, bind);

Заранее благодарю за любую помощь

Ответы [ 3 ]

0 голосов
/ 08 октября 2009

Извините, я не использовал t clarify it. I m эту привязку только одним способом: после выбора какого-либо элемента в выпадающем списке значение значения должно быть записано в obj.P. В этом сценарии не требуется ни INotifyPropChanged, ни DependencyProperty

0 голосов
/ 17 марта 2010

Не уверен, нужно ли вам это по-прежнему или это поможет, но вы можете попробовать использовать односторонний режим привязки к источнику, по умолчанию будет TwoWay:

Mode = BindingMode.OneWayToSource

Кроме того, я бы сделал это так, но не уверен, что это поможет:

   comboSubject.SetBinding(
       Selector.SelectedItemProperty,
       new Binding { Source = selectedItemSource, Path = "SelectedItem" });

Посмотрим, поможет ли это ...

0 голосов
/ 08 октября 2009

Что именно не работает? Соответствующий элемент не выбран в ComboBox или P не обновляется при изменении выбора? Значение P в списке, к которому привязан ComboBox?

Вы также можете попытаться проверить, что тип obj реализует INotifyPropertyChanged или DependencyObject с P, равным DependencyProperty.

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