В этом случае вы можете просто использовать .Text()
для установки:
cmbBudgetYear.Text = "2010";
Для получения значения после изменения, хотя, возможно, это потому, что я не установил SelectedValuePath="Content"
везде, или, может быть, потому что я не использовал SelectedValue
для его установки (и почему я упоминаю его) , становится немного сложнее определить фактическое значение, поскольку вы должны сделать это после добавления обработчика события для SelectionChanged
в XAML:
private void cmbBudgetYear_SelectionChanged(object sender, EventArgs e)
{
ComboBox cbx = (ComboBox)sender;
string yourValue = String.Empty;
if (cbx.SelectedValue == null)
yourValue = cbx.SelectionBoxItem.ToString();
else
yourValue = cboParser(cbx.SelectedValue.ToString());
}
Там, где требуется синтаксический анализатор, потому что .SelectedValue.ToString()
даст вам что-то вроде System.Windows.Controls.Control: 2010
, поэтому вы должны разобрать его, чтобы получить значение:
private static string cboParser(string controlString)
{
if (controlString.Contains(':'))
{
controlString = controlString.Split(':')[1].TrimStart(' ');
}
return controlString;
}
По крайней мере, это то, с чем я столкнулся ... Я знаю, что этот вопрос был о настройке коробки, но я не могу говорить только о настройке, не говоря о том, как ее получить, позже, как о том, как вы ее установили определит, как вы получите его, если он будет изменен.