【发布时间】:2011-02-11 03:56:21
【问题描述】:
我按预期触发了这个 cbxJobPosition_SelectionChanged。问题是当外部方法尝试设置 cbxJobPosition。
cbxJobPosition 与 JobPosition 类型的对象列表进行数据绑定:
JobPositionID:1,JobPositionName:经理
JobPositionID:2,JobPositionName:员工
JobPositionID:3,JobPositionName:第三方
这是 XAML:
<ComboBox Cursor="Hand" DataContext="{Binding}" ItemsSource="{Binding}"
FontSize="13" Name="cbxJobPosition"
SelectedValuePath="JobPositionID" DisplayMemberPath="JobPositionName"
SelectedIndex="0" Width="233" Height="23"
SelectionChanged="cbxJobPosition_SelectionChanged" />
在 UserControl_Loaded 方法中,它从数据库中读取职位列表并尝试设置特定职位“第三方”:
//calls cbxJobPosition_SelectionChanged and passes the correct SelectedValue within
cbxJobPosition.SelectedIndex = 3;
//calls cbxJobPosition_SelectionChanged and but won't pass the correct SelectedValue within
cbxJobPosition.SelectedValue = "3";
如您所见,当处理自动重定向到 cbxJobPosition_SelectionChanged 时,当您在 cbxJobPosition_SelectionChanged 事件中进行调试时,上述每个语句的 SelectedValue 属性将具有不同的值。
有谁知道这种差异是否在意料之中,是我遗漏了什么还是可能是一个错误?
【问题讨论】:
标签: wpf combobox selectedvalue selectedindex selectionchanged