___ answer601350 ___
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
___ tag123c ___ C # (sprich "Cis") ist eine objektorientierte Programmiersprache auf hohem Niveau, die für die Erstellung einer Vielzahl von Anwendungen entwickelt wurde, die auf dem .NET Framework (oder .NET Core) ausgeführt werden. C # ist einfach, leistungsfähig, typsicher und objektorientiert.
___ qstntxt ___
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.
zuweise
Meine 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"!
___ tag123net ___ Das .NET-Framework ist ein Software-Framework, das hauptsächlich für das Microsoft Windows-Betriebssystem entwickelt wurde. Es enthält eine Implementierung der Basisklassenbibliothek, Common Language Runtime (allgemein als CLR bezeichnet), Common Type System (allgemein als CTS bezeichnet) und Dynamic Language Runtime. Es unterstützt viele Programmiersprachen, einschließlich C #, VB.NET, F # und C ++ / CLI. NICHT für Fragen zu .NET Core verwenden.
___ tag123datbinding ___ Eine allgemeine Technik, die zwei Daten- / Informationsquellen miteinander verbindet und synchronisiert.
___ tag123winforms ___ WinForms ist der informelle Name für Windows Forms, eine GUI-Klassenbibliothek in Microsoft .NET Framework und Mono. Fragen in diesem Tag sollten auch mit dem Zielframework ([.net] oder [mono]) versehen und normalerweise mit einem Programmiersprachen-Tag versehen werden.
___ answer601357 ___
Sie sollten in der Lage sein, anstelle des Designers eine Liste über Code zu erstellen. Hier ist ein Beispiel (von vor ein paar Stunden ).
___ qstnhdr ___ WinForms Datenbindung - Bindung an Objekte in einer Liste
___ answer601508 ___
Sie sollten beachten, dass Sie Steuerelemente an beliebige -Objekttypen binden können, die die Schnittstellen %code% , %code% oder %code% 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 %code% Instanz konvertiert.
Lesen Sie die folgenden Links für weitere Informationen:
-
Roadmap für Windowsforms-Datenbindung - Zeigt einen sehr umfassenden Überblick über die Implementierung und Möglichkeiten und bietet eine Vielzahl von Links zu anderen KB-Artikeln.
-
Winforms Objektbindung - Rockford Lhotkas Artikel zu diesem Thema . Bietet eine auf Windows Forms Designer ausgerichtete Methode zur Implementierung der Datenbindung.
-
Datenbindung mit Windows Forms 2.0 - Dieses Buch von Brian Noyes untersucht verschiedene Aspekte der Databinding, sowohl in komplexen und einfache Szenarien.
___