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}-Markuperweiterung betrachtet 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 von FrameworkElement.SetBinding einrichten. Weitere Informationen finden Sie unter Erstellen von Bindungen im Code.

Ein Binding-Objekt verbindet eine Abhängigkeitseigenschaft eines FrameworkElements direkt mit einem Datenobjekt, sodass Aktualisierungen des Datenobjekts automatisch an die Eigenschaft weitergegeben werden, die 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.

Wenn Sie eine Bindung an eine Eigenschaft oder eine Untereigenschaft für ein Datenobjekt festlegen möchten, legen Sie die Path-Eigenschaft des Binding-Objekts fest. Weitere Informationen zum Festlegen von Path in Code oder XAML finden Sie unter Property-Path-Syntax 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.

Hinweis

Wenn Sie die FrameworkElement.SetBinding-Methode aufrufen und ein neues Binding-Objekt übergeben, wird keine vorhandene Bindung entfernt. Stattdessen sollten Sie die Microsoft verwenden. BENUTZEROBERFLÄCHE. Xaml.DependencyObject.ClearValue-Methode.

Weitere Informationen zur VERWENDUNG von XAML-Attributs für Eigenschaften, die eine Bindung annehmen können oder die anderweitig 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 in der Übersicht über Abhängigkeitseigenschaften.

Konstruktoren

Name Beschreibung
Binding()

Initialisiert eine neue Instanz der Binding-Klasse .

Eigenschaften

Name Beschreibung
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 von der Converter -Eigenschaft angegeben wird.

ConverterParameter

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

Dispatcher

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

(Geerbt von DependencyObject)
DispatcherQueue

Ruft ab DispatcherQueue , dem dieses Objekt zugeordnet ist. Dies DispatcherQueue stellt eine Einrichtung dar, die auf den DependencyObject 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 Bindung verwendet 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 null ist.

UpdateSourceTrigger

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

Methoden

Name Beschreibung
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 von RegisterPropertyChangedCallback registriert wurde.

(Geerbt von DependencyObject)

Gilt für:

Weitere Informationen