這是我第一次嘗試WinForms中的Databinding,因此請和我一起裸照。Winforms將組合框SelectedItem綁定到對象屬性
我有兩個簡單的類:
public class Customer
{
public String CustomerID { get; set; }
public String Forename { get; set; }
public String Surname { get; set; }
}
和
public class Order
{
public String OrderID { get; set; }
public Decimal Value { get; set; }
public Customer OrderedBy { get; set; }
}
我然後創建客戶對象的列表:
List<Customer> customers = new List<Customer>();
customers.Add(new Customer() { CustomerID = "1", Forename = "John", Surname = "Smith"});
customers.Add(new Customer() { CustomerID = "2", Forename = "Jeremy", Surname = "Smith" });
而且我有一個組合框,針對這我將數據源設置爲我的Customer列表,並將DisplayMember設置爲Customer對象的Forename屬性:
comboBox1.DisplayMember = "Forename";
comboBox1.DataSource = customers;
結果是一個包含兩個項目「John」和「Jeremy」的組合框。到目前爲止我並不太困惑。
雖然我希望能夠做到,但是基於Combobox的選擇,可以設置Order實例的OrderedBy屬性 - 可以將複合類型綁定到ComboBoxes上嗎?
我想這一點,但它似乎沒有被更新訂單實例的OrderedBy屬性:
Order myOrder = new Order();
comboBox1.DataBindings.Add("SelectedItem", myOrder, "OrderedBy");
我不知道如果我想要做的是可能的,或者如果它是超越WinForms中數據綁定的功能。
我想避免必須更新我的Order對象作爲ComboBox上的事件處理程序的一部分,並在可能的情況下單獨使用數據綁定。
乾杯
感謝法比奧,這有助於! – suffolkml
@suffolkml,檢查我更新的答案。我沒有多少關於這個問題的更多信息 – Fabio