Suche…


Syntax

  • <object property = "{x: Bind}" ... />

  • <object property = "{x: Bind propertyPath}" ... />

  • <object property = "{x: Bind Path = propertyPath}" ... />

  • <object property = "{x: Bind [bindende Eigenschaften]}" ... />

  • <object property = "{x: Bind propertyPath, [bindingProperties]}" ... />

  • <object property = "{x: Bindepfad = propertyPath, [bindingProperties]}" ... />

Bemerkungen

Die Markup-Erweiterung {x:Bind} - neu für Windows 10 - ist eine Alternative zu {Binding} .

{x:Bind} weist einige Funktionen von {Binding} , die jedoch weniger Zeit und weniger Speicher benötigt als {Binding} und unterstützt besseres Debuggen.

Bei der XAML-Ladezeit wird {x:Bind} in das umgewandelt, was Sie als Bindungsobjekt empfinden können. Dieses Objekt erhält einen Wert aus einer Eigenschaft einer Datenquelle. Das Bindungsobjekt kann optional so konfiguriert werden, dass Änderungen im Wert der Datenquelleneigenschaft beobachtet und basierend auf diesen Änderungen aktualisiert werden. Es kann auch optional konfiguriert werden, um Änderungen an seinem eigenen Wert in die Quelleigenschaft zu verschieben. Die von {x:Bind} und {Binding} sind weitgehend funktional äquivalent. {x:Bind} führt jedoch {x:Bind} aus, der zur Kompilierungszeit generiert wird, und {Binding} verwendet eine allgemeine Objektprüfung für Laufzeitobjekte. Folglich haben {x:Bind} -Bindungen (oft als kompilierte Bindungen bezeichnet) eine hervorragende Leistung, bieten eine Validierung der Bindungsausdrücke zur Kompilierzeit und unterstützen das Debugging, indem Sie Haltepunkte in den Codedateien festlegen, die als partiell generiert werden Klasse für Ihre Seite. Diese Dateien befinden sich in Ihrem obj-Ordner mit Namen wie (für C #) .g.cs.

Weitere Informationen finden Sie in der MSDN-Dokumentation zu x: Bind

Auswerten von {x: Bind} von Funktionen

Diese Fähigkeit wurde nach v1607 (Redstone 1) zur Bind-Markup-Erweiterung hinzugefügt.
Sie können einen Funktionspfad sowie Argumentpfade und konstante Argumente angeben. Nehmen wir an, wir haben eine Funktion in unserem Backcode definiert:

public string Translate(string text, string from, string to)

Jetzt können wir bind verwenden, um die Funktion in dem Element zu bewerten, das wir wollen:

<TextBlock Name="SomeText" Text="How are you?" />
<TextBlock Name="{x:Bind Translate(SomeText.Text, 'en', 'es')}" />

Funktions- und Argumentpfade können auch Punkte und Umwandlungen enthalten.



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow