Получил DataTemplateColumn
в приложении DataGrid
приложения WPF. DataTemplate
определяет ComboBox
. Список предметов, представленных ComboBox
, необходимо изменить в зависимости от значения другого поля связанного ItemsSource
для той же строки, что и у ComboBox
. Я не использую ComboBoxColumn
и не могу по другим причинам.Контекстные сообщения Элементы Comboxbox в DataGrid
В настоящее время попытались Binding
ItemsSource
из ComboBox
к ObjectDataProvider
в XAML, а затем установив MethodParameter
в ObjectDataProvider
в обработчике SelectionChanged
событий в DataGrid
.
Combobox
элементы в соответствующих рядах обновляются правильно, если выбрано, однако все остальные ComboBoxes
также были обновлены. Это приводит к тому, что выбранный элемент ранее установленного ComboBox
в предыдущей строке очистился. Я подозреваю другое обновление ComboBoxes
, потому что они получают событие PropertyChanged
от ObjectDataProvider
, к которому они привязаны. Я попытался установить Binding Mode
на ItemsSource
ComboBox
на OneTime
, но это не помогло.
Любые идеи о том, как получить ComboBox
связать его Items
когда DataGrid Row
выбран, но не пересвязать когда (последующее ComboBox
и) выбран другой ряд?
Если возможно, вы можете добавить в 'ViewModel' свойства' DataGrid' новое свойство 'Combobox'' ItemsSource'. И привяжите это свойство вместо использования ObjectDataProvider. – bars222
Сладкий, в моем случае да, у меня есть контроль над моей виртуальной машиной, поэтому я сделал то, что вы предлагали, и это работает. – OrdinaryOrange