Buscar..


Sintaxis

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

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

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

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

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

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

Observaciones

La extensión de marcado {x:Bind} , nueva para Windows 10, es una alternativa a {Binding} .

{x:Bind} carece de algunas de las características de {Binding} , pero se ejecuta en menos tiempo y menos memoria que {Binding} y admite una mejor depuración.

En el tiempo de carga XAML, {x:Bind} se convierte en lo que se puede considerar como un objeto de enlace, y este objeto obtiene un valor de una propiedad en una fuente de datos. El objeto de enlace puede configurarse opcionalmente para observar los cambios en el valor de la propiedad de origen de datos y actualizarse basándose en esos cambios. Opcionalmente, también se puede configurar para enviar cambios en su propio valor a la propiedad de origen. Los objetos de enlace creados por {x:Bind} y {Binding} son en gran parte equivalentes funcionalmente. Pero {x:Bind} ejecuta código de propósito especial, que genera en tiempo de compilación, y {Binding} usa la inspección de objetos de tiempo de ejecución de propósito general. En consecuencia, los enlaces {x:Bind} (a menudo denominados enlaces compilados) tienen un gran rendimiento, proporcionan validación en tiempo de compilación de sus expresiones de enlace y admiten la depuración al permitirle establecer puntos de interrupción en los archivos de código que se generan como parcial clase para tu pagina Estos archivos se pueden encontrar en su carpeta obj, con nombres como (para C #) .g.cs.

Para obtener más información, consulte la documentación de MSDN en x: Bind

Evaluando {x: Bind} de funciones

Esta capacidad se agregó a la extensión de marcado Bind después de v1607 (Redstone 1).
Puede especificar una ruta de función, así como rutas de arg y args constantes. Supongamos que tenemos una función definida en nuestro backcode:

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

Ahora podemos usar bind para evaluar la función en el elemento que deseamos:

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

Las rutas de función y arg también pueden contener puntos y moldes.



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow