0

我有一个 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属性设置为有效项,该SelectedValue属性也为空。如果我使用鼠标滚轮向下滚动到某个项目,那么这两个属性都按照我的预期正确设置。

4

1 回答 1

2

事实证明,这是由于我的视图模型Guid.Empty在没有选择时默认返回的事实引起的。但是由于列表中没有具有控件Id属性的项目Guid.Empty会感到困惑。

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

于 2012-05-11T13:09:20.767 回答