WinForms veri bağlama konusunda yardıma/kılavuza ihtiyacım var ve Google'ın bana bu konuda yardımcı olması için yardımcı olamadım.WinForms veri bağlama - Bir listedeki nesnelere bağlama
İşte benim senaryo. Neye ihtiyacım benzer aşağıdaki sınıfları dikkate alın: Bunun
public class Car
{
public string Name { get; set; }
public List<Tire> Tires { get; set; }
}
public class Tire
{
public double Pressure { get; set; }
}
Benim örneklerini dört Lastik nesnelerle bir List sınıfı Car bir nesne olacak. Listede her zaman bilinen sayıda nesneye sahip olacağımı unutmayın.
Şimdi bunu veriyi beş metin kutusu içeren bir Form'a bağlamak istiyorum. Otomobilin adı ve her lastik basıncı ile bir metin kutusu ile bir metin kutusu.
Bu işin nasıl yapıldığına dair bir fikrin var mı? VS'deki tasarımcı, Lastikleri [0] .Pressure gibi liste dizinlerine atayarak bunu ayarlamama izin vermiyor gibi görünüyor.
Benim şimdiki çözüm gibi olurdu bir "BindableCar" bağlanma geçerli:
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; }
}
}
ama benim listeleri 20 yerine 4 nesneleri içeriyorsa bu gerçekten çirkin olur ve ben isteyen nesnelerin her biri için 6 özelliğe karşı bağlanır. Bu büyük bir "BindableObject" yapar!
Hayır, tasarımcı tarafından gönderilen mesaj nedeniyle bunun desteklenmediğini varsaydım. Bunu en kısa zamanda deneyeceğim. –