data-binding

___ 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:

  1. 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.
  2. Winforms Objektbindung - Rockford Lhotkas Artikel zu diesem Thema . Bietet eine auf Windows Forms Designer ausgerichtete Methode zur Implementierung der Datenbindung.
  3. Datenbindung mit Windows Forms 2.0 - Dieses Buch von Brian Noyes untersucht verschiedene Aspekte der Databinding, sowohl in komplexen und einfache Szenarien.
___
2
Antworten

Warum bricht die Datenbindung im OneWay-Modus ab?

Hier ist ein kleines XAML-Fragment. Du wirst sehen %Vor% Wenn Sie den Textfeldwert ändern, aktualisiert der Schieberegler Wenn Sie den Slider-Wert explizit ändern, bricht das vorherige Verhalten ab und a.k.a funktioniert nicht mehr. We...
07.09.2009, 11:57
7
Antworten

So vermeiden Sie die manuelle Implementierung von INotifyPropertyChanged

Gibt es einen Weg, dies zu vermeiden? Ich habe viele Klassen, die an DataGridViews gebunden sind und sie sind nur eine einfache Sammlung von Eigenschaften mit Standard-Getter und Setter. Also diese Klassen sind sehr einfach. Jetzt muss ich die I...
28.06.2010, 06:37
2
Antworten

Wann wird das DataBinding-Ereignis während des ASP.NET-Seitenlebenszyklus ausgelöst?

Wenn ich ein GridView mit einem deklarativen SqlDataSource-Steuerelement als Datenquelle habe, wann ruft diese Datenquelle dann ihre Daten ab und wann findet die Bindung im Seitenlebenszyklus statt?     
07.08.2009, 14:51
3
Antworten

Wie aktualisiere ich eine datengebundene Datagrid-Ansicht von einem Hintergrund-Thread korrekt?

Ich habe ein benutzerdefiniertes Objekt, das INotifyPropertyChanged implementiert. Ich habe eine Sammlung dieser Objekte, wobei die Sammlung auf BindingList basiert Ich habe eine Bindungsquelle für die Sammlung erstellt und die Datenquellen der...
18.01.2009, 19:39
2
Antworten

Fehler beim Binden mit Markup-Erweiterungen: Unbekannte Eigenschaft beim Parsen einer Markup-Erweiterung

Im Prinzip habe ich eine nette Methode entwickelt, RadioButtons an fast alles zu binden: %Vor% Sie können beispielsweise RadioButtons wie folgt an eine Zeichenfolgeneigenschaft binden (es ist ein bekannter Fehler, dass Sie für jedes RadioBut...
02.08.2012, 20:30
3
Antworten

Kann nicht an den Namen der Eigenschaft oder Spalte in der DataSource gebunden werden. Parametername: dataMember

Dies ist die Ausnahme, die ich bekomme, wenn ich versuche, an einen System.Type.Name zu binden. Hier ist was ich mache: %Vor% Gibt es einen Trick mit der Bindung an System.Type, ist es nicht erlaubt oder gibt es eine Workaround? Habe kein...
21.10.2008, 00:18
6
Antworten

MausMit dem Mausrad können Sie WPF und MVVM vergrößern

OK, ich habe herausgefunden, wie Sie mithilfe von LayoutTransform und ScaleTransform das Grid von UI-Elementen zum Zoomen bringen können. Was ich nicht verstehe, ist, wie ich meine View dazu bringen kann, auf STRG + MouseWheelUp \ Down zu reagie...
16.02.2010, 07:53
4
Antworten

Binding ComboBox.SelectedItem in Silverlight (mehr)

Bezogen auf meine vorherige Frage: Binding ComboBox.SelectedItem in Silverlight Ich habe eine ComboBox wie folgt gebunden: %Vor% Sowohl die CurrentVideo-Eigenschaft als auch die CurrentCommentary-Eigenschaft ändern sich regelmäßig. Nach...
14.05.2009, 16:20
3
Antworten

Wie kann ich auf den Stammdatenkontext in einer DataTemplate in WPF zugreifen?

Ich habe ein Raster von Elementen, die mit Datenbindung gefüllt sind. Im Raster habe ich für bestimmte Zellen DataTemplate . Ich muss auf das DataContext des Wurzelelements (dasjenige, das das Gitter hostet) zugreifen, so dass ich auf zusät...
10.03.2009, 15:23
7
Antworten

So binden Sie eine Zeichenfolge an ein Objekt in Java

Ich habe eine Zeichenfolge in diesem Format (Antwort von EBS Payment Gateway) %Vor% Wie bindet man an dieses Klassenobjekt, ohne die Split-Methode zu verwenden? %Vor%     
09.07.2013, 11:19