WPF组合框绑定

时间:2010-06-28 13:36:23

标签: wpf binding combobox

更新

我在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}"  

由于

1 个答案:

答案 0 :(得分:0)

使用SelectedValue上的绑定与SelectedValuePath结合使用或SelectedItem上的绑定

不要在你的组合框上同时使用它们!

在您的情况下,我建议您删除SelectedItem绑定。