WPF: Получите Свойство, что управление Связывается с в коде позади

Я пытаюсь найти способ получить Свойство, с которым управление связывается (в c#).

Если у меня есть следующее:

<dxe:ComboBoxEdit DisplayMember="Name" ItemsSource="{Binding Path=NameOptions, Mode=OneTime}" SelectedItem="{Binding Path=Name, UpdateSourceTrigger=PropertyChanged}" />

Я теперь пытаюсь получить местоположение, к которому SelectedItem связывается с, т.е. результатом должно быть "Имя". Затем в коде я должен сделать некоторый материал с тем Свойством ViewModel. Проблема - то, что я не могу только трудно кодировать это, поскольку это - общий метод, который должен работать с каждым управлением на форме.

Спасибо, Richard

12
задан Richard 4 May 2010 в 17:34
поделиться

2 ответа

Я думаю, это должно сработать:

BindingExpression be = BindingOperations.GetBindingExpression((FrameworkElement)yourComboBox, ((DependencyProperty)Button.SelectedItemProperty));
string Name = be.ParentBinding.Path.Path;

Чтобы отдать должное, где это необходимо.

16
ответ дан 2 December 2019 в 18:52
поделиться

Попробуйте использовать BindingExpression

IE:

var bindingExpression = this.myComboBox.GetBindingExpression(ComboBox.SelectedItem);
string bindingPath = bindingExpression.ParentBinding.Path.Path

Я вижу, вы используете DXE ComboBox вместо стандартного - ожидая он является производным от обычного объекта управления .NET, у вас все равно должна быть эта функция.

3
ответ дан 2 December 2019 в 18:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: