Uso un montón de enlaces en XAML y algunas veces uso path = en un enlace y algunas veces no. ¿En qué casos necesito la ruta = y cuándo puedo omitir esto?¿Cuál es el uso de Path = en XAML?
Respuesta
Siempre se puede omitir ya que es la propiedad predeterminada de la extensión Binding XAML. Solo se especifica explícitamente para mayor claridad cuando se usan múltiples propiedades.
Gracias ... en ese caso voy a eliminar la palabra clave (al menos si el resaltado de sintaxis sigue siendo bueno como en otro comentario). (Puedo aceptarlo en unos minutos). –
No existe una propiedad predeterminada cuando se trata de extensiones de marcado, por decirlo es demasiado vago ya que estamos tratando con constructores aquí. Y tampoco [siempre se puede omitir] (http://stackoverflow.com/a/9383001/546730). –
Siempre se puede omitir el Path = cuando se escribe la ruta de acceso a la propiedad directamente detrás de la sentencia Binding.
{Binding MyProperty}
es lo mismo que
{Binding Path=MyProperty}
Cuando Inline la ruta de la propiedad es necesario especificar con Path = dijo
{Binding FallbackValue='HelloWorld', Path=MyProperty}
Como Richard Szalay, es opcional si es la primera propiedad. Pero en mi opinión, es más fácil de leer si ingresas a la propiedad del camino. También el resaltado del código se ve mejor.
Esto se debe al hecho de que la clase Binding tiene un constructor predeterminado, que se usa cuando tiene enlaces como {Binding FallbackValue='HelloWorld', Path=MyProperty}
y un constructor que tiene un solo argumento Path.
Así que cuando hay una lista de pares de propiedad/valor se crea la unión como
new Binding(){
Path="MyProperty"
ElementName="MyElement"
}
La segunda forma se utiliza para los enlaces como {Binding MyProperty, ...}
. En este caso, la unión se crea como
new Binding("MyProperty"){
ElementName = "MyElement",
...
}
Siempre es correcta (y posiblemente más correcto) para especificar Path =, pero se puede salir sin él.
La ruta de acceso se utiliza para especificar el nombre de la propiedad del objeto subyacente al que enlazarse.
Cuando se enlaza a la DataContext, se puede omitir Path:
{Binding MyProperty}
{Binding Path=MyProperty}
Cuando es necesario especificar una fuente que no sea el DataContext puede utilizar Source
, RelativeSource
, o ElementName
para referirse al objeto, por lo por lo general tendrá que especificar a qué propiedad de que desea establecer su unión:
<Button Background="{Binding ElementName=refButton, Path=Background}"/>
<TextBlock Width="{Binding RelativeSource={RelativeSource Self}, Path=Parent.ActualWidth}"/>
- 1. Cuál es la diferencia entre Class Path y Build Path
- 2. ¿Por qué este Xaml Path falla Silverlight?
- 3. Cuál es el significado de x: Nombre en xaml (WPF) y su uso con Storyboard
- 4. Uso de XAML en WinForms
- 5. ¿Cuál es el uso del uso de init() en JavaScript?
- 6. ¿Cuál es la diferencia entre Build Path y Include Path en Eclipse PDT?
- 7. ¿Cuál es el uso de Log4j API?
- 8. ¿Cuál es el uso de Deployment.Current.Dispatcher.BeginInvoke (() => {...})?
- 9. ¿Cuál es el uso previsto de IllegalStateException?
- 10. ¿Cuál es el uso de "indulgente"?
- 11. ¿Cuál es el uso correcto de DataContext.Refresh()?
- 12. ¿Cuál es el uso de typedef?
- 13. ¿Cuál es el uso de window.external?
- 14. ¿Cuál es el uso de autómatas finitos?
- 15. ¿Cuál es el uso de LOCAL_MODULE_TAGS?
- 16. ¿Cuál es el uso correcto de EnsureChildControls()?
- 17. ¿Cuál es el uso de Indexers?
- 18. ¿cuál es el uso básico de alignment_storage?
- 19. ¿Cuál es el uso de la sintaxis = =?
- 20. ¿Cuál es el uso de @SuppressWarnings
- 21. ¿Cuál es el uso de singletonList?
- 22. ¿Cuál es el uso principal de MarshalByRefObject?
- 23. ¿Cuál es el uso de AtomicReferenceArray?
- 24. ¿Cuál es el uso de - [NSUserDefaults registerDefaults:]?
- 25. ¿cuál es el uso de string.Clone()?
- 26. Uso de colores CMYK en WPF/XAML
- 27. clojure: ¿Cuál es el uso de la forma # '/ (var ...)?
- 28. ¿Cuál es la diferencia entre Sender, From y Return-Path?
- 29. caracteres adicionales durante el uso de XML PATH
- 30. ¿Cuál es el orden relativo con el que Windows busca los archivos ejecutables en PATH?
relacionadas: [Diferencia entre PropertyName {Binding} y {Binding Path = PropertyName}] (http://stackoverflow.com/ preguntas/4306657/diferencia-entre- binding-propertyname-and-binding-path-propertyname) –