在這種情況下,你應該能夠簡單地使用.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