Do WPF ComboBox SelectedIndex and SelectedValue have different behavior on SelectionChanged event?
Posted
by Junior Mayhé
on Stack Overflow
See other posts from Stack Overflow
or by Junior Mayhé
Published on 2010-04-22T16:18:29Z
Indexed on
2010/04/22
16:53 UTC
Read the original article
Hit count: 754
Hello guys
I got this cbxJobPosition_SelectionChanged firing as expected. The problem is when a external method tries to set cbxJobPosition.
cbxJobPosition is databinded with a list of objects of type JobPosition:
JobPositionID: 1, JobPositionName: Manager
JobPositionID: 2, JobPositionName: Employee
JobPositionID: 3, JobPositionName: Third party
Here's the 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" />
On UserControl_Loaded method, it reads from database the list of jobs and try to set the specific job position "Third party":
//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";
As you can notice, when the processing is automatically redirected to cbxJobPosition_SelectionChanged, the SelectedValue attribute will have different values for each statement above when you're debugging within cbxJobPosition_SelectionChanged event.
Does anyone know if this difference is expected, am I missing something or it could be a bug?
© Stack Overflow or respective owner