Обновление:
Я включил некоторую диагностику в свойство SelectedValue (diagnostics:PresentationTraceSources.TraceLevel=High
) и думаю, что вижу проблему, хотя не знаю, как ее исправить.Диагностика показывает
System.Windows.Data Warning: 76 : BindingExpression (hash=16001149): TransferValue - got raw value '3'
System.Windows.Data Warning: 80 : BindingExpression (hash=16001149): TransferValue - implicit converter produced '3'
System.Windows.Data Warning: 85 : BindingExpression (hash=16001149): TransferValue - using final value '3'
System.Windows.Data Warning: 86 : BindingExpression (hash=16001149): **Update - got raw value <null>**
System.Windows.Data Warning: 90 : BindingExpression (hash=16001149): **Update - using final value <null>**
System.Windows.Data Warning: 98 : BindingExpression (hash=16001149): SetValue at level 1 to LookupModelBase (hash=57292143) using ReflectPropertyDescriptor(PK): <null>
System.Windows.Data Warning: 91 : BindingExpression (hash=16001149): Got ValueChanged event from LookupModelBase (hash=57292143)
System.Windows.Data Warning: 85 : BindingExpression (hash=40869743): TransferValue - using final value ObservableCollection`1 (hash=64658589 Count=4)
, поэтому SelectedValue по какой-то причине установлено в ноль.
Кто-нибудь преодолел эту проблему?
Спасибо
Привет,
В дополнение к моему предыдущему посту и, чтобы сделать это немного яснее, чем мои предыдущие разговоры, я думаю, что вопрос заключается в том,следует;
Почему отображение комбинированного списка должно быть пустым при изменении другого свойства (из-за OnPropertyChanged), даже если фактическое базовое значение не изменяется?Если я изменю поле в той же записи, поле со списком будет пустым, но если я уйду назад и вернусь снова, значение вернется?
xaml выглядит следующим образом:
ItemsSource="{Binding TrialParentValues, Mode=OneWay}"
SelectedItem="{Binding TrialParentObj, UpdateSourceTrigger=PropertyChanged, ValidatesOnDataErrors=True, Mode=TwoWay}"
DisplayMemberPath="Description"
SelectedValuePath="PK"
SelectedValue="{Binding TrialParentObj.PK}"
Спасибо