选择更改时,WPF ComboBox SelectedValue绑定未更新

时间:2012-05-10 20:32:17

标签: wpf combobox telerik selectedvalue

我有一个Telerik RadComboBox设置如下:

<t:RadComboBox Grid.Column="1" Grid.ColumnSpan="5" Grid.Row="3" x:Name="customer" IsReadOnly="True" IsEditable="True"
               ItemsSource="{Binding Path=Customers, Mode=OneWay}" DisplayMemberPath="Name" SelectedValuePath="Id"
               SelectedValue="{Binding Path=CustomerId, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, ValidatesOnDataErrors=True}"
               SelectionChanged="customer_SelectionChanged_1"/>

组合已正确填充,但如果我单击下拉列表并从列表中选择一个项目,则SelectedValue属性不会更新。如果我开始输入组合并选择一个项目,则SelectedValue属性不会更新。 但是如果我使用鼠标滚轮或箭头键,则SelectedValue属性 正确更新。

我在代码中添加了SelectionChanged事件,因此我可以查看控件的属性(此应用程序使用的是MVVM模式),即使SelectedItem属性< em> 设置为有效项,SelectedValue属性为null。如果我使用鼠标滚轮向下滚动到一个项目,那么两个属性都按照我的预期正确设置。

1 个答案:

答案 0 :(得分:2)

事实证明,这是由于我的视图模型在没有选择时默认返回Guid.Empty这一事实。但由于列表中没有Id属性为Guid.Empty的项目,控件会混淆。

添加属性:SelectedIndex="0"修复此问题。