[英]ComboBox SelectedValue or SelectedItem Binding WPF C#
[英]C# - Databound Combobox always returns null value for .selectedItem or .selectedValue
我在弄清楚為什么我的數據綁定組合框的.selectedItem或.SelectedValue屬性總是返回空值時遇到了一些麻煩。 我是編程的新手,所以我確定自己犯了一個簡單的錯誤,但是我找不到在線有效的解決方案。
這是我的代碼設置構造函數:
class EngStnadardMOList
{
public int ID { get; set; }
public string Model { get; set; }
public EngStnadardMOList(int i, string m)
{
ID = i;
Model = m;
}
}
然后我在加載時填充:
public FrmEngStandardMO()
{
InitializeComponent();
fillList();
}
這是fillList()方法:
private void fillList()
{
List<EngStnadardMOList> _list = new List<EngStnadardMOList>() {
new EngStnadardMOList(1,"PE1008B1R405-A-VA"),
new EngStnadardMOList(2,"PE1008B1R405-A-VB"),
new EngStnadardMOList(3,"PE103D1R420-A-VB"),
new EngStnadardMOList(4,"PE103D1R420-A-VC"),
new EngStnadardMOList(5,"PE105F1R420-A-VB"),
new EngStnadardMOList(6,"PE105F1R420-A-VC"),
new EngStnadardMOList(7,"PM108F2R420-A-VC"),
new EngStnadardMOList(8,"PM112F3R4100-A-VC"),
new EngStnadardMOList(9,"PM212F6R4200-A-VC")
};
cmbStdModel.DisplayMember = "Model";
cmbStdModel.ValueMember = "ID";
cmbStdModel.DataSource = _list;
}
當您運行表單時,這的確會填充組合框,但是,使用下面的代碼,當我嘗試獲取選定的項目時,我總是得到一個空值。
private void btnGenerateFiles_Click(object sender, EventArgs e)
{
if (cmbStdModel.SelectedValue != null)
{
MessageBox.Show(cmbStdModel.Text);
}
else {
MessageBox.Show("Null Model.");
}
}
}
我究竟做錯了什么?
提前致謝!
我知道了! 我不知道為什么它起作用,但是我發現是否調用fillList();。 btnGenerateFiles_Click塊開頭的方法,則代碼不會返回null。
我不確定為什么會這樣,所以如果有人可以為我澄清,我將不勝感激。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.