Ich brauche Hilfe / Anleitung zur WinForms-Datenbindung und ich kann Google anscheinend nicht dazu bringen, mir bei dieser Sache zu helfen.
Hier ist mein Szenario. Betrachten Sie die folgenden Klassen, die denen ähnlich sind, die ich brauche:
%Vor%Meine Instanzen davon werden ein Objekt der Klasse Auto mit einer Liste mit vier Reifenobjekten sein. Beachten Sie, dass ich hier immer eine bekannte Anzahl von Objekten in der Liste habe.
Nun möchte ich das an ein Formular binden, das fünf Textfelder enthält. Eine Textbox mit dem Namen des Autos und eine Textbox mit jedem der Reifendrücke.
Irgendeine Idee, wie das funktioniert? Der Designer in VS scheint mir nicht zu erlauben, dies einzurichten, indem ich Listenindizes wie Reifen [0] .Pressure.
zuweiseMeine derzeitige Lösung besteht darin, an ein "BindableCar" zu binden, das wie folgt aussehen könnte:
%Vor%aber das wird wirklich hässlich, wenn meine Liste 20 statt 4 Objekte enthält, und für jedes dieser Objekte möchte ich gegen 6 Eigenschaften binden. Das macht ein riesiges "BindableObject"!
Während der WinForms-Designer dies möglicherweise nicht zulässt, haben Sie versucht, die Bindung im Code einzurichten? Ich kann mir vorstellen, dass es kein Problem gibt, eine Textbox an someCar.Tires [1] .Pressure.
zu binden Sie sollten beachten, dass Sie Steuerelemente an beliebige -Objekttypen binden können, die die Schnittstellen IList
, ICollection
oder IEnumerable
implementieren oder von Klassen erben, die diese Schnittstellen implementieren. Generische Sammlungen sind ebenfalls für diese Art der Bindung geeignet.
Diese werden intern in eine IBindingList
Instanz konvertiert.
Lesen Sie die folgenden Links für weitere Informationen:
Tags und Links .net c# data-binding winforms