Unterschied zwischen Bindung und x:Bind
Was in der UWP, Binding
oder x:Bind
und was ist der Unterschied zwischen Ihnen?
Weil ich sehe eine Menge von stellen, wo man Binding
und ich nur Binden mit x:Bind
im UWP.
Ist auf der MSDN Homepage es sagt nur, dass "die Bindung von Objekten erstellt, die durch {x:Bind}
und {Binding}
sind weitgehend funktional äquivalent." und dass x:Bind
ist schneller.
Aber was ist der Unterschied zwischen Ihnen?
Weil "weitgehend funktional gleichwertig" bedeutet nicht " entspricht.
Den Link aus meinem Zitat: MSDN
Also meine Frage ist:
Was ist der Unterschied in der Verwendung von Binden oder x:Bind in UWP?
- Wohl der bedeutendste Unterschied ist (wie bereits in {x:Bind} markup-Erweiterung): ", Zusammengestellt Bindungen sind stark typisiert, und beheben Sie den Typ jeder Schritt in einem Pfad. Wenn der Typ zurückgegeben, hat nicht das Mitglied, wird es nicht zur compile-Zeit."
Du musst angemeldet sein, um einen Kommentar abzugeben.
Das folgende ist wahrscheinlich nicht vollständig, aber die wichtigsten Unterschiede sind
Alten Stil
{Binding }
{x:Bind }
Und beginnend mit bauen 14393,
{x:Bind }
unterstützt:Den neueren {x:Bind } ist ein wenig schneller, zur Laufzeit aber genauso wichtig wird es geben, compiler-Fehler für die fehlerhafte Bindungen. Mit {Binding } würden Sie sehen nur ein leeres Steuerelement in den meisten Fällen.
{x:Bind}
führt einen speziellen code, der es erzeugt, zur compile-Zeit.{Binding}
verwendet Allzweck-runtime-Objekt Inspektion. Folglich{x:Bind}
hat eine große Leistung und bietet Compilezeit-Validierung der Bindung Ausdrücken. Es unterstützt das Debuggen, indem Sie Haltepunkte in den code-Dateien, die generiert werden, wie die partielle Klasse für Ihre Seite.Weil
{x:Bind}
verwendet generierten code, um zu erreichen, seine Vorteile, es erfordert, geben Sie Informationen zur compile-Zeit. Dies bedeutet, dass Sie keine Bindung zu Eigenschaften, bei denen Sie nicht wissen, die Art vor der Zeit. Aufgrund dieser, Sie können nicht{x:Bind}
mit der DataContext-Eigenschaft ist vom Typ Object und ist ebenfalls Gegenstand von änderungen zur Laufzeit.Die
{x:Bind}
markup-Erweiterung—neu für Windows-10—ist eine alternative zu{Binding}
.{x:Bind}
fehlen einige der features von{Binding}
, aber es läuft in weniger Zeit und weniger Speicher als{Binding}
und unterstützt besser Debuggen.