Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

BindingContext-Klasse

 

Veröffentlicht: Oktober 2016

Verwaltet die Auflistung von BindingManagerBase-Objekten für ein beliebiges Objekt, das von der Control-Klasse erbt.

Namespace:   System.Windows.Forms
Assembly:  System.Windows.Forms (in System.Windows.Forms.dll)

System.Object
  System.Windows.Forms.BindingContext

public class BindingContext : ICollection, IEnumerable

NameBeschreibung
System_CAPS_pubmethodBindingContext()

Initialisiert eine neue Instanz der BindingContext-Klasse.

NameBeschreibung
System_CAPS_pubpropertyIsReadOnly

Diese API unterstützt die Produkt Infrastruktur und sollte nicht direkt aus dem Code verwendet werden. Ruft einen Wert ab, der angibt, ob die Auflistung schreibgeschützt ist.

System_CAPS_pubpropertyItem[Object]

Ruft die BindingManagerBase der angegebenen Datenquelle zugeordnet ist.

System_CAPS_pubpropertyItem[Object, String]

Ruft einen BindingManagerBase der angegebenen Datenquelle und dem Datenmember zugeordnet ist.

NameBeschreibung
System_CAPS_protmethodAdd(Object, BindingManagerBase)

Fügt der BindingManagerBase eine bestimmte Datenquelle auf die Auflistung zugeordnet.

System_CAPS_protmethodAddCore(Object, BindingManagerBase)

Diese API unterstützt die Produkt Infrastruktur und sollte nicht direkt aus dem Code verwendet werden. Fügt der BindingManagerBase eine bestimmte Datenquelle auf die Auflistung zugeordnet.

System_CAPS_protmethodClear()

Löscht die Auflistung aller BindingManagerBase Objekte.

System_CAPS_protmethodClearCore()

Diese API unterstützt die Produkt Infrastruktur und sollte nicht direkt aus dem Code verwendet werden. Löscht die Auflistung.

System_CAPS_pubmethodContains(Object)

Ruft einen Wert, der angibt, ob die BindingContext enthält die BindingManagerBase der angegebenen Datenquelle zugeordnet.

System_CAPS_pubmethodContains(Object, String)

Ruft einen Wert, der angibt, ob die BindingContext enthält die BindingManagerBase der angegebenen Datenquelle und dem Datenmember zugeordnet.

System_CAPS_pubmethodEquals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.(Geerbt von „Object“.)

System_CAPS_protmethodFinalize()

Gibt einem Objekt Gelegenheit, Ressourcen freizugeben und andere Bereinigungen durchzuführen, bevor es von der Garbage Collection freigegeben wird. (Geerbt von „Object“.)

System_CAPS_pubmethodGetHashCode()

Fungiert als die Standardhashfunktion.(Geerbt von „Object“.)

System_CAPS_pubmethodGetType()

Ruft den Type der aktuellen Instanz ab.(Geerbt von „Object“.)

System_CAPS_protmethodMemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.(Geerbt von „Object“.)

System_CAPS_protmethodOnCollectionChanged(CollectionChangeEventArgs)

Diese API unterstützt die Produkt Infrastruktur und sollte nicht direkt aus dem Code verwendet werden. Löst das CollectionChanged-Ereignis aus.

System_CAPS_protmethodRemove(Object)

Löscht die BindingManagerBase der angegebenen Datenquelle zugeordnet.

System_CAPS_protmethodRemoveCore(Object)

Diese API unterstützt die Produkt Infrastruktur und sollte nicht direkt aus dem Code verwendet werden. Entfernt die BindingManagerBase der angegebenen Datenquelle zugeordnet.

System_CAPS_pubmethodToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.(Geerbt von „Object“.)

System_CAPS_pubmethodSystem_CAPS_staticUpdateBinding(BindingContext, Binding)

Ordnet eine Binding mit einem neuen BindingContext.

NameBeschreibung
System_CAPS_pubeventCollectionChanged

Diese API unterstützt die Produkt Infrastruktur und sollte nicht direkt aus dem Code verwendet werden. Löst immer eine NotImplementedException Wenn behandelt.

NameBeschreibung
System_CAPS_pubinterfaceSystem_CAPS_privmethodICollection.CopyTo(Array, Int32)

Diese API unterstützt die Produkt Infrastruktur und sollte nicht direkt aus dem Code verwendet werden. Kopiert die Elemente der Auflistung beginnend am Auflistungsindex in das angegebene Array.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIEnumerable.GetEnumerator()

Diese API unterstützt die Produkt Infrastruktur und sollte nicht direkt aus dem Code verwendet werden. Ruft einen Enumerator für die Auflistung ab.

System_CAPS_pubinterfaceSystem_CAPS_privpropertyICollection.Count

Diese API unterstützt die Produkt Infrastruktur und sollte nicht direkt aus dem Code verwendet werden. Ruft die Gesamtzahl der CurrencyManager von verwalteten Objekten der BindingContext.

System_CAPS_pubinterfaceSystem_CAPS_privpropertyICollection.IsSynchronized

Diese API unterstützt die Produkt Infrastruktur und sollte nicht direkt aus dem Code verwendet werden. Ruft einen Wert ab, der angibt, ob die Auflistung synchronisiert ist.

System_CAPS_pubinterfaceSystem_CAPS_privpropertyICollection.SyncRoot

Diese API unterstützt die Produkt Infrastruktur und sollte nicht direkt aus dem Code verwendet werden. Ruft ein Objekt ab, das für die Synchronisierung (Threadsicherheit) verwendet werden soll.

NameBeschreibung
System_CAPS_pubmethodAsParallel()

Überladen. Ermöglicht die Parallelisierung einer Abfrage.(Definiert durch ParallelEnumerable.)

System_CAPS_pubmethodAsQueryable()

Überladen. Konvertiert ein IEnumerable zu einer IQueryable.(Definiert durch Queryable.)

System_CAPS_pubmethodCast<TResult>()

Wandelt die Elemente einer IEnumerable in den angegebenen Typ.(Definiert durch Enumerable.)

System_CAPS_pubmethodOfType<TResult>()

Filtert die Elemente einer IEnumerable auf Grundlage eines angegebenen Typs.(Definiert durch Enumerable.)

Each Windows Form has at least one T:System.Windows.Forms.BindingContext object that manages the T:System.Windows.Forms.BindingManagerBase objects for the form. Because the T:System.Windows.Forms.BindingManagerBase class is abstract, the return type of the P:System.Windows.Forms.BindingContext.Item(System.Object) property is either a T:System.Windows.Forms.CurrencyManager or a T:System.Windows.Forms.PropertyManager. If the data source is an object that can return only a single property (instead of a list of objects), the T:System.Type is a T:System.Windows.Forms.PropertyManager. For example, if you specify a T:System.Windows.Forms.TextBox as the data source, a T:System.Windows.Forms.PropertyManager is returned. On the other hand, if the data source is an object that implements T:System.Collections.IList or T:System.ComponentModel.IBindingList, a T:System.Windows.Forms.CurrencyManager is returned.

For each data source on a Windows Form, there is a single T:System.Windows.Forms.CurrencyManager or T:System.Windows.Forms.PropertyManager. Because there may be multiple data sources associated with a Windows Form, the T:System.Windows.Forms.BindingContext enables you to retrieve any particular T:System.Windows.Forms.CurrencyManager associated with a data source.

System_CAPS_noteHinweis

When using the P:System.Windows.Forms.BindingContext.Item(System.Object) property, the T:System.Windows.Forms.BindingContext creates a new T:System.Windows.Forms.BindingManagerBase if one does not already exist. This can lead to some confusion, as the returned object may not manage the list (or any list) that you intend. To prevent returning an invalid T:System.Windows.Forms.BindingManagerBase, use the M:System.Windows.Forms.BindingContext.Contains(System.Object) method to determine if the intended T:System.Windows.Forms.BindingManagerBase already exists.

If you use a container control, such as a T:System.Windows.Forms.GroupBox, T:System.Windows.Forms.Panel, or T:System.Windows.Forms.TabControl, to contain data-bound controls, you can create a T:System.Windows.Forms.BindingContext for just that container control and its controls. Then, each part of your form can be managed by its own T:System.Windows.Forms.BindingManagerBase. See the M:System.Windows.Forms.BindingContext.#ctor constructor for more information about creating multiple T:System.Windows.Forms.BindingManagerBase objects for the same data source.

If you add a T:System.Windows.Forms.TextBox control to a form and bind it to a column of a table in a dataset, the control communicates with the T:System.Windows.Forms.BindingContext of that form. The T:System.Windows.Forms.BindingContext, in turn, talks to the specific T:System.Windows.Forms.CurrencyManager for that data association. If you queried the Position property of the T:System.Windows.Forms.CurrencyManager, it would report the current record for the binding of that T:System.Windows.Forms.TextBox control. In the following code example, a T:System.Windows.Forms.TextBox control is bound to the FirstName column of a Customers table on the dataSet1 dataset through the T:System.Windows.Forms.BindingContext for the form it is on.

textBox1.DataBindings.Add("Text", dataSet1, "Customers.FirstName");


You can add a second T:System.Windows.Forms.TextBox control (TextBox2) to the form and bind it to the LastName column of the Customers table in the same dataset. The T:System.Windows.Forms.BindingContext is aware of the first binding (TextBox1 to Customers.FirstName), so it would use the same T:System.Windows.Forms.CurrencyManager, as both text boxes are bound to the same dataset (DataSet1).

textBox2.DataBindings.Add("Text", dataSet1, "Customers.LastName");


If you bind TextBox2 to a different dataset, the T:System.Windows.Forms.BindingContext creates and manages a second T:System.Windows.Forms.CurrencyManager.

It is important to be consistent about how you set the P:System.Windows.Forms.ListControl.DataSource and P:System.Windows.Forms.ListControl.DisplayMember properties; otherwise, the T:System.Windows.Forms.BindingContext creates multiple currency managers for the same dataset, which results in errors. The following code example shows a few ways to set the properties and their associated T:System.Windows.Forms.BindingContext objects. You can set the properties using either of the following methods, as long as you are consistent throughout your code.

comboBox1.DataSource = DataSet1;
comboBox1.DisplayMember = "Customers.FirstName";
this.BindingContext[dataSet1, "Customers"].Position = 1;


comboBox1.DataSource = DataSet1.Customers;
comboBox1.DisplayMember = "FirstName";
this.BindingContext[dataSet1.Customers].Position = 1;


System_CAPS_noteHinweis

Most Windows Forms applications bind through a T:System.Windows.Forms.BindingSource. The T:System.Windows.Forms.BindingSource component encapsulates a T:System.Windows.Forms.CurrencyManager and exposes the T:System.Windows.Forms.CurrencyManager programming interface. When using a T:System.Windows.Forms.BindingSource for binding, you should use the members exposed by the T:System.Windows.Forms.BindingSource to manipulate "currency" (that is, Position) rather than go through the T:System.Windows.Forms.BindingContext.

The following code example creates four T:System.Windows.Forms.Binding objects to bind five controls—a T:System.Windows.Forms.DateTimePicker and four T:System.Windows.Forms.TextBox controls—to several data sources. The T:System.Windows.Forms.BindingContext is then used to get the T:System.Windows.Forms.BindingManagerBase for each data source.

protected void BindControls()
{
   /* Create two Binding objects for the first two TextBox 
      controls. The data-bound property for both controls 
      is the Text property. The data source is a DataSet 
      (ds). The data member is a navigation path in the form: 
      "TableName.ColumnName". */
   text1.DataBindings.Add(new Binding
   ("Text", ds, "customers.custName"));
   text2.DataBindings.Add(new Binding
   ("Text", ds, "customers.custID"));

   /* Bind the DateTimePicker control by adding a new Binding. 
      The data member of the DateTimePicker is a navigation path:
      TableName.RelationName.ColumnName string. */
   DateTimePicker1.DataBindings.Add(new 
   Binding("Value", ds, "customers.CustToOrders.OrderDate"));

   /* Add event delegates for the Parse and Format events to a 
      new Binding object, and add the object to the third 
      TextBox control's BindingsCollection. The delegates 
      must be added before adding the Binding to the 
      collection; otherwise, no formatting occurs until 
      the Current object of the BindingManagerBase for 
      the data source changes. */
      Binding b = new Binding
      ("Text", ds, "customers.custToOrders.OrderAmount");
   b.Parse+=new ConvertEventHandler(CurrencyStringToDecimal);
   b.Format+=new ConvertEventHandler(DecimalToCurrencyString);
   text3.DataBindings.Add(b);

   // Get the BindingManagerBase for the Customers table. 
   bmCustomers = this.BindingContext [ds, "Customers"];

   /* Get the BindingManagerBase for the Orders table using the 
      RelationName. */ 
   bmOrders = this.BindingContext[ds, "customers.CustToOrders"];

   /* Bind the fourth TextBox control's Text property to the
   third control's Text property. */
   text4.DataBindings.Add("Text", text3, "Text");
}

.NET Framework
Verfügbar seit 1.1

Alle öffentlichen statischen Member ( Shared in Visual Basic) dieses Typs sind threadsicher. Die Threadsicherheit für Instanzmember ist nicht garantiert.

Zurück zum Anfang
Anzeigen: