WPF combobox переплет - PullRequest
       4

WPF combobox переплет

0 голосов
/ 28 июня 2010

Обновление:

Я включил некоторую диагностику в свойство 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}"  

Спасибо

1 Ответ

0 голосов
/ 28 июня 2010

Используйте привязку на SelectedValue в сочетании с SelectedValuePath или привязку на SelectedItem

Не используйте оба в вашем комбинированном списке!

В вашем случае я предлагаю вам удалить SelectedItem привязку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...