silverlight - tutorial - ¿Por qué Blend agrega[d: LayoutOverrides="Height"] y debería importarme?
microsoft expression blend 4 (2)
d: LayoutOverrides
Si una propiedad se establece en un valor fijo en el tiempo de ejecución, pero desea anularla en designtime, puede usar el atributo d: LayoutOverrides. Se pueden enumerar todas las propiedades que se deben ignorar en designtime, separadas por punto y coma.
Con bastante frecuencia, cuando regreso a Visual Studio desde Expression Blend 3, veo que Blend ha agregado útilmente una propiedad "d: LayoutOverrides" a mi XAML. Mientras crecía con los diseñadores de ASP.NET, naturalmente desconfío de cualquier cosa que no escriba, así que quítelos tan pronto como los vea.
Sé que las propiedades "d:" son exclusivas del diseñador y no afectan el tiempo de ejecución, pero ¿alguien puede ofrecer alguna información sobre lo que hace esta propiedad y por qué Blend insistiría tanto en que las tenga en mi marcado?
<Border d:LayoutOverrides="Height" />
Simplemente está ahí para que Blend sepa cómo mostrar su XAML en modo de diseño. Específicamente, si tiene un diseño fluido que se extiende hasta llenar su contenedor, no existe una manera clara para que Blend sepa qué tan alto debe ser su diseño; LayoutOverrides define eso.
Esas entradas de configuración de LayoutOverride se agregan cuando usted (u otra persona que ejecuta Blend) cambia manualmente el tamaño de los elementos en la superficie de diseño. Si los está viendo en todo su código (como en un elemento de borde):
- Por lo general, puede eliminarlos sin ningún efecto notorio
- Puede ver cómo usa Blend: específicamente, debe dimensionar el cotainer primario a un buen tamaño (UserControl / LayoutRoot), luego configure los tamaños secundarios según el diseño fluido, por ejemplo, relleno y margen o * tamaños.
Tenga en cuenta que los atributos ignorantes de Blend se eliminan en el momento de la compilación y no afectan el rendimiento de la aplicación. Por lo tanto, aunque es posible que desee eliminarlos para mejorar la legibilidad del código, no afectan la forma en que se ejecuta su aplicación.