Я пытаюсь найти способ получить Свойство, с которым управление связывается (в c#).
Если у меня есть следующее:
<dxe:ComboBoxEdit DisplayMember="Name" ItemsSource="{Binding Path=NameOptions, Mode=OneTime}" SelectedItem="{Binding Path=Name, UpdateSourceTrigger=PropertyChanged}" />
Я теперь пытаюсь получить местоположение, к которому SelectedItem связывается с, т.е. результатом должно быть "Имя". Затем в коде я должен сделать некоторый материал с тем Свойством ViewModel. Проблема - то, что я не могу только трудно кодировать это, поскольку это - общий метод, который должен работать с каждым управлением на форме.
Спасибо, Richard
Я думаю, это должно сработать:
BindingExpression be = BindingOperations.GetBindingExpression((FrameworkElement)yourComboBox, ((DependencyProperty)Button.SelectedItemProperty));
string Name = be.ParentBinding.Path.Path;
Попробуйте использовать BindingExpression
IE:
var bindingExpression = this.myComboBox.GetBindingExpression(ComboBox.SelectedItem);
string bindingPath = bindingExpression.ParentBinding.Path.Path
Я вижу, вы используете DXE ComboBox вместо стандартного - ожидая он является производным от обычного объекта управления .NET, у вас все равно должна быть эта функция.