在这种情况下,你应该能够简单地使用.Text()
进行设置:
cmbBudgetYear.Text = "2010";
对于获得价值变动后,不过,也许是因为我没有设置SelectedValuePath="Content"
无处不在,或也许是因为我没有使用SelectedValue
来设置它(以及为什么我提到它),确定实际值会变得稍微复杂一些,因为您必须在XAML中添加SelectionChanged
的事件处理函数后执行此操作:
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;
}
至少,这是我碰到了....我知道这问题是关于如何设置方框,但是后来也没有谈论如何获取它,因此无法解决设置问题,因为如何设置它将决定如何更改设置。
哈哈...... SelectedValuePath =“内容”是它。谢谢! – knockando 2010-08-02 19:57:39
优秀的答案,也帮助了我。 – Califf 2012-09-03 04:24:31