Следующий код не вызывает набор свойств SelectedItem в моей модели представления.WPF DataBinding - изменение выделенного объекта ComboBox, не вызывающего ViewModel
<ComboBox x:Name="cmbGuaranteeType" Margin="5,5,5,5" MinWidth="80"
ItemsSource="{Binding Source={StaticResource guaranteeTypesKey}}"
SelectedItem="{Binding RelativeSource={RelativeSource AncestorType={x:Type wpfToolkit:DataGridRow}}, Path=DataContext.GuaranteeType, Mode=TwoWay}"
/>
Вид - это UserControl, связанный с ViewModel. У UserControl есть файл данных WpfToolkit, который привязан к ObservableCollection в ViewModel. ObservableCollection состоит из List<T>
элементов. Выше выпадающий является обязательным к свойству «GuaranteeType» на одном из элементов T следующим образом:
public GuaranteeType? GuaranteeType
{
get { return _guaranteeType; }
set { _guaranteeType = value; NotifyPropertyChanged(ConstGuaranteeType); }
}
Когда UserControl загружаются, геттер собственности GuaranteeType, называются и SelectedItem установлен правильно. Однако, когда я нажимаю на ComboBox и пытаюсь изменить SelectedItem, установщик для свойства GuarenteeType никогда не вызывается.
Кроме того, я внедрил SelectionChanged="cmbGuaranteeType_SelectionChanged"
в XAML против кодового кода View и при загрузке представления метод SelectionChanged вызывается один раз, но не вызывается, когда я освобождаю мышь при попытке изменить выбранный элемент combobox.
Что вы подразумеваете под опросом в этом контексте? Однако я сделал несколько попыток; Я изменил ItemsSource, чтобы указать на ListCollectionView на ViewModel, но безрезультатно. В ViewModel я даже подписался на события CurrentChanging & CurrentChanged, но они запускаются только во время загрузки, а не при изменении. Удивительно то, что в то время как свойство GettyType getter возвращает правильный SelectedItem во время процесса привязки, ComboBox не показывает SelectedItem (как это было ранее). –