Bei Verwendung der traditionellen {Binding} -Syntax können Sie den Elementnamen angeben, um auf ein bestimmtes Steuerelement auf der Seite zu verweisen und auf dessen Eigenschaften zugreifen zu können. Zum Beispiel, wenn die Seite mit dem Namen ist page
Sie tun können:Alternative zu ElementName in x: Bindung mit DataTemplates
{Binding ElementName=Page, Path=Name}
Mit der {x:Bind} Syntax sagt es
Mit x: Binden Sie tun müssen, um Elementnamen nicht verwenden = xxx als Teil der bindender Ausdruck. Mit x: Bind können Sie den Namen des Elements als ersten Teil des Pfads für die Bindung verwenden, da die benannten Elemente zu Feldern innerhalb der Seite oder des Benutzersteuerelements werden, das die Stamm- -Bindungsquelle darstellt.
So zum Beispiel oben in {x: Bind} würde
{x:Bind page.Name}
sein, die gut funktioniert, bis es sich in einer Datenvorlage ist (zum Beispiel ein Listview des ItemTemplate). In diesem Fall ist es nicht mehr funktioniert, wie es für Page
auf dem Datentyp festgelegt, die zu dem folgenden Fehler führt (unter der Annahme, meinen Datentypen customer
) suchen:
XamlCompiler Fehler WMC1110: Ungültige Bindungspfad ‚Page.Name ': Property ‚: Syntax mit Datatemplates und Zugriffskontrollen außerhalb der Datenvorlage Seite des Kunden
Was ist die Lösung zu verwenden, {x} Bind‘ kann nicht auf Art gefunden werden'?
Beispielcode ist verfügbar here (beachten Sie spezifische Festschreibung)