我需要一些關於WinForms數據綁定的幫助/指導,我似乎無法讓Google幫助我解決這個問題。WinForms數據綁定 - 綁定到列表中的對象
這是我的場景。考慮下面的類,它類似於我所需要的:
public class Car
{
public string Name { get; set; }
public List<Tire> Tires { get; set; }
}
public class Tire
{
public double Pressure { get; set; }
}
我的這種情況下,將是汽車類的一個對象,具有四個輪胎對象名單。請注意,我將在此列表中始終有一個已知數量的對象。
現在我想將數據綁定到包含五個文本框的表單。一個帶有汽車名稱的文本框和一個帶有每個輪胎壓力的文本框。
關於如何使這項工作的任何想法? VS中的設計師似乎不允許我通過分配像輪胎[0],壓力這樣的列表索引來設置它。
我目前的解決方案是綁定到「BindableCar」這將是這樣的:
public class BindableCar
{
private Car _car;
public BindableCar(Car car)
{
_car = car;
}
public string Name
{
get { return _car.Name; }
set { _car.Name = value; }
}
public double Tire1Pressure
{
get { return _car.Tires[0].Pressure; }
set { _car.Tires[0].Pressure = value; }
}
public double Tire2Pressure
{
get { return _car.Tires[1].Pressure; }
set { _car.Tires[1].Pressure = value; }
}
public double Tire3Pressure
{
get { return _car.Tires[2].Pressure; }
set { _car.Tires[2].Pressure = value; }
}
public double Tire4Pressure
{
get { return _car.Tires[3].Pressure; }
set { _car.Tires[3].Pressure = value; }
}
}
但是當我的列表中包含的20,而不是4個對象這變得很醜陋,併爲每個我想這些對象的綁定6個屬性。這使得一個巨大的「BindableObject」!
不,我沒有,因爲我認爲這是不支持由於設計師提示的消息。我會盡快嘗試。 – 2009-03-02 12:12:59