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.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…