Set SelectedItem of WPF ComboBox

There exist many ways to do this but for your example, I would change the ComboBox-Tag as follows:

<ComboBox Grid.Row="1" Grid.Column="0" 
          Name="cmbBudgetYear" SelectedValuePath="Content">

I added the attribute-defition SelectedValuePath="Content". After that you can set the value with a corresponding string, e.g.:

cmbBudgetYear.SelectedValue = "2009";

Take care that the value must be a string. For your example, use

cmbBudgetYear.SelectedValue = DateTime.Now.Year.ToString();

An additional idea

If you use the code-behind anyway, would it be a possibility to fill the combobox with integers. Someting like:

for(int y=DateTime.Now.Year;y>DateTime.Now.Year-10;y--){
 cmbBudgetYear.Items.Add(y);
}

..then you can select the values extremly simple like

cmbBudgetYear.SelectedValue = 2009;

... and you would have also other advantages.


In my case I added the values manually with:

myComboBox.Items.Add("MyItem");

and then I select the wanted one with:

myComboBox.SelectedItem = "WantedItem";

instead of:

myComboBox.SelectedValue = "WantedItem";

Tags:

Wpf

Combobox