Binding Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
- 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 |
| DispatcherQueue |
Ruft ab |
| 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
- <xref:Microsoft.UI.Xaml.Data.BindingOperations.SetBinding(Microsoft.UI.Xaml.DependencyObject%2cMicrosoft.UI.Xaml.DependencyProperty%2cMicrosoft.UI.Xaml.Data.BindingBase)%0a(bindingoperations_setbinding_746099660.md)>
- XAML-Beispiel für die Datenbindung
- Datenbindung im Detail
- Übersicht über Abhängigkeitseigenschaften
- Eigenschaftspfadsyntax