Freigeben über


Binding Klasse

Definition

Definiert eine Bindung, die die Eigenschaften von Bindungszielen und Datenquellen verbindet.

/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.UI.Xaml.WinUIContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class Binding : BindingBase
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.UI.Xaml.WinUIContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public class Binding : BindingBase
Public Class Binding
Inherits BindingBase
<Binding .../>
- or -
<dependencyobject dependencyproperty="{Binding bindingArgs}" />
Vererbung
Object IInspectable DependencyObject BindingBase Binding
Attribute

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie eine Bindung in XAML erstellt wird. Die vollständige Codeauflistung finden Sie im XAML-Datenbindungsbeispiel.

<StackPanel Margin="5">

  <TextBlock Text="Name:" Style="{StaticResource DescriptionTextStyle}" 
    Margin="5" HorizontalAlignment="Left" VerticalAlignment="Top"/>

  <TextBox Text="{Binding Path=Name, Mode=TwoWay}" 
    Width="350" Margin="5" HorizontalAlignment="Left" VerticalAlignment="Top"/>

  <TextBlock Text="Organization:" Style="{StaticResource DescriptionTextStyle}" 
    Margin="5" HorizontalAlignment="Left" VerticalAlignment="Top"/>

  <!-- You can omit the 'Path=' portion of the binding expression. --> 
  <TextBox Text="{Binding Organization, Mode=TwoWay}" Width="350" 
    Margin="5" HorizontalAlignment="Left" VerticalAlignment="Top"/>

</StackPanel>

Im folgenden Beispielcode wird veranschaulicht, wie eine Bindung im Code erstellt wird.

// Create the source string.
string s = "Hello";

// Create the binding description.
Binding b = new Binding();
b.Mode = BindingMode.OneTime;
b.Source = s;

// Attach the binding to the target.
TextBlock MyText = new TextBlock();
MyText.SetBinding(TextBlock.TextProperty, b);
// Create the source string.
String^ s = ref new String(L"Hello");

// Create the binding description.
Binding^ b = ref new Binding();
b->Mode = BindingMode::OneTime;
b->Source = s;

// Attach the binding to the target.
TextBlock^ MyText = ref new TextBlock();
MyText->SetBinding(MyText->TextProperty, b);

Hinweise

Mit der {Binding}-Markuperweiterung können Sie einen Bindungswert als einzelne Attributzeichenfolge in XAML angeben, einschließlich festlegen von Bindungseigenschaften wie Path und Source. Weitere Informationen zu Datenbindungskonzepten finden Sie unter Datenbindung im Detail.

Die Binding-Klasse kann als CodeBehind-Gefährdung der {Binding}-Markuperweiterungangesehen werden. Wenn eine Bindung bereits auf ein Ziel angewendet wird (was beim Laden des XAML-Codes geschieht), können Sie die Lese-/Schreibeigenschaften eines Binding-Objekts nicht festlegen, um zu ändern, wie sich eine Bindung zur Laufzeit verhält. Jede XAML-definierte Bindung sollte als unveränderlich betrachtet werden. Sie können jedoch ein neues Binding-Objekt erstellen, dessen Eigenschaften festlegen und eine neue Bindung für ein bestimmtes UI-Elementziel mithilfe FrameworkElement.SetBindingeinrichten. Weitere Informationen finden Sie unter Erstellen von Bindungen im Code.

Ein Binding-Objekt verbindet eine Abhängigkeitseigenschaft eines FrameworkElement direkt mit einem Datenobjekt, sodass Aktualisierungen des Datenobjekts automatisch an die Eigenschaft weitergegeben werden, die datenbindung verwendet. Die Binding-Klasse definiert die Eigenschaften einer Bindung. Jede Bindung muss über ein Zielelement, eine Zieleigenschaft und eine Datenquelle verfügen, obwohl einige Werte standardmäßig bereitgestellt werden, wenn Sie sie nicht angeben.

Um eine Bindung an eine Eigenschaft oder eine Untereigenschaft für ein Datenobjekt festzulegen, legen Sie die Path-Eigenschaft des Binding-Objekts fest. Weitere Informationen zum Festlegen Path- in Code oder XAML finden Sie unter Eigenschaftenpfadsyntax oder {Binding}-Markuperweiterung.

Sie können eine Instanz einer Binding-Klasse auf mehrere Ziele anwenden. Sie können die Eigenschaftswerte eines Binding-Objekts jedoch nicht ändern, nachdem Sie es an ein Zielelement angefügt haben.

Anmerkung

Durch Das Aufrufen der FrameworkElement.SetBinding--Methode und das Übergeben eines neuen Binding-Objekts wird keine vorhandene Bindung entfernt. Stattdessen sollten Sie die Microsoft.UI.Xaml.DependencyObject.ClearValue-Methode verwenden.

Weitere Informationen zur VERWENDUNG von XAML-Attributs für Eigenschaften, die eine Bindung übernehmen können oder die andernfalls auf einen datengebundenen Wert festgelegt werden können, finden Sie unter {Binding}-Markuperweiterung.

Die Eigenschaft, die das Ziel einer Datenbindung ist, muss eine Abhängigkeitseigenschaft sein. Weitere Informationen finden Sie unter Übersicht über Abhängigkeitseigenschaften.

Konstruktoren

Binding()

Initialisiert eine neue Instanz der klasse Binding.

Eigenschaften

Converter

Dient zum Abrufen oder Festlegen des Konverterobjekts, das vom Bindungsmodul aufgerufen wird, um die Daten so zu ändern, wie sie zwischen der Quelle und dem Ziel übergeben wird, oder umgekehrt.

ConverterLanguage

Dient zum Abrufen oder Festlegen eines Werts, der die Sprache benennt, die an einen beliebigen Konverter übergeben werden soll, der durch die eigenschaft Converter angegeben wird.

ConverterParameter

Dient zum Abrufen oder Festlegen eines Parameters, der in der logik Converter verwendet werden kann.

Dispatcher

Gibt immer null in einer Windows App SDK-App zurück. Verwenden Sie stattdessen DispatcherQueue.

(Geerbt von DependencyObject)
DispatcherQueue

Ruft den DispatcherQueue ab, dem dieses Objekt zugeordnet ist. Die DispatcherQueue stellt eine Einrichtung dar, die auf die DependencyObject im UI-Thread zugreifen kann, auch wenn der Code von einem Nicht-UI-Thread initiiert wird.

(Geerbt von DependencyObject)
ElementName

Dient zum Abrufen oder Festlegen des Namens des Elements, das als Bindungsquelle für die Bindingverwendet werden soll.

FallbackValue

Dient zum Abrufen oder Festlegen des Werts, der verwendet werden soll, wenn die Bindung keinen Wert zurückgeben kann.

Mode

Dient zum Abrufen oder Festlegen eines Werts, der die Richtung des Datenflusses in der Bindung angibt.

Path

Dient zum Abrufen oder Festlegen des Pfads zur Bindungsquelleigenschaft.

RelativeSource

Ruft die Bindungsquelle ab oder legt sie fest, indem sie seine Position relativ zur Position des Bindungsziels angibt. Dies wird am häufigsten in Bindungen innerhalb von XAML-Steuerelementvorlagen verwendet.

Source

Ruft die Datenquelle für die Bindung ab oder legt sie fest.

TargetNullValue

Dient zum Abrufen oder Festlegen des Werts, der im Ziel verwendet wird, wenn der Wert der Quelle nullist.

UpdateSourceTrigger

Dient zum Abrufen oder Festlegen eines Werts, der die Anzeigedauer von Bindungsquellenaktualisierungen für bidirektionale Bindungen bestimmt.

Methoden

ClearValue(DependencyProperty)

Löscht den lokalen Wert einer Abhängigkeitseigenschaft.

(Geerbt von DependencyObject)
GetAnimationBaseValue(DependencyProperty)

Gibt einen Basiswert zurück, der für eine Abhängigkeitseigenschaft eingerichtet wurde, was in Fällen angewendet wird, in denen eine Animation nicht aktiv ist.

(Geerbt von DependencyObject)
GetValue(DependencyProperty)

Gibt den aktuellen effektiven Wert einer Abhängigkeitseigenschaft aus einem DependencyObject-zurück.

(Geerbt von DependencyObject)
ReadLocalValue(DependencyProperty)

Gibt den lokalen Wert einer Abhängigkeitseigenschaft zurück, wenn ein lokaler Wert festgelegt wird.

(Geerbt von DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

Registriert eine Benachrichtigungsfunktion, um Änderungen an einer bestimmten DependencyProperty- für diese DependencyObject-Instanz zu überwachen.

(Geerbt von DependencyObject)
SetValue(DependencyProperty, Object)

Legt den lokalen Wert einer Abhängigkeitseigenschaft für ein DependencyObject-fest.

(Geerbt von DependencyObject)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

Bricht eine Änderungsbenachrichtigung ab, die zuvor durch Aufrufen RegisterPropertyChangedCallback-registriert wurde.

(Geerbt von DependencyObject)

Gilt für:

Weitere Informationen