更新
我在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被设置为null。
有没有人克服这个问题?
由于
您好,
继my previous post之后,为了使这比我之前的漫游更清楚一点,我认为问题如下;
为什么在修改另一个属性时(由于OnPropertyChanged)将组合框显示设置为空白,即使实际的基础值未修改?如果我修改同一记录中的一个字段,组合框显示为空,但如果我离开并再次返回该值返回?
xaml如下;
ItemsSource="{Binding TrialParentValues, Mode=OneWay}"
SelectedItem="{Binding TrialParentObj, UpdateSourceTrigger=PropertyChanged, ValidatesOnDataErrors=True, Mode=TwoWay}"
DisplayMemberPath="Description"
SelectedValuePath="PK"
SelectedValue="{Binding TrialParentObj.PK}"
由于
答案 0 :(得分:0)
使用SelectedValue
上的绑定与SelectedValuePath
结合使用或SelectedItem
上的绑定
不要在你的组合框上同时使用它们!
在您的情况下,我建议您删除SelectedItem
绑定。