Estilos y plantillas insertadosInline Styles and Templates

Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) proporciona Style objetos y objetos de plantilla (FrameworkTemplate subclases) como una forma de definir la apariencia visual de un elemento en los recursos, por lo que puede utilizarse varias veces.provides Style objects and template objects (FrameworkTemplate subclasses) as a way to define the visual appearance of an element in resources, so that they can be used multiple times. Por este motivo, los atributos XAMLXAML que toman los tipos Style y FrameworkTemplate casi siempre que las referencias de recursos en plantillas y estilos existentes en lugar de definir nuevos en línea.For this reason, attributes in XAMLXAML that take the types Style and FrameworkTemplate almost always make resource references to existing styles and templates rather than define new ones inline.

Limitaciones de plantillas y estilos en líneaLimitations of Inline Styles and Templates

En Lenguaje XAML (Extensible Application Markup Language)Extensible Application Markup Language (XAML), técnicamente se pueden establecer propiedades de estilo y plantilla de dos maneras.In Lenguaje XAML (Extensible Application Markup Language)Extensible Application Markup Language (XAML), style and template properties can technically be set in one of two ways. Puede usar la sintaxis de atributo para hacer referencia a un estilo que se ha definido dentro de un recurso, por ejemplo < objetoStyle="{StaticResourcemyResourceKey}" .../>.You can use attribute syntax to reference a style that was defined within a resource, for example <objectStyle="{StaticResourcemyResourceKey}" .../>. O bien, puede usar la sintaxis de elemento de propiedad para definir un estilo en línea, por ejemplo:Or you can use property element syntax to define a style inline, for instance:

< object >< object >

< object .Style>< object .Style>

< Style .../>< Style .../>

</ object .Style></ object .Style>

</ object ></ object >

El uso de atributos es mucho más común.The attribute usage is much more common. Un estilo que se definen en línea y no está definido en los recursos se limita necesariamente a solo el elemento contenedor y no se puede volver a utilizar fácilmente porque no tiene ninguna clave de recurso.A style that is defined inline and not defined in resources is necessarily scoped to the containing element only, and cannot be re-used as easily because it has no resource key. En general es más versátil y útil un estilo definido por los recursos y es más en consonancia con el general Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) principio del modelo de separar la lógica del programa en el código de diseño en el marcado de programación.In general a resource-defined style is more versatile and useful, and is more in keeping with the general Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) programming model principle of separating program logic in code from design in markup.

Normalmente, no hay ninguna razón para establecer un estilo o una plantilla insertada, incluso si solo piensa usar ese estilo o plantilla en esa ubicación.Usually there is no reason to set a style or template inline, even if you only intend to use that style or template in that location. La mayoría de los elementos que pueden tomar un estilo o plantilla también admiten una propiedad de contenido y un modelo de contenido.Most elements that can take a style or template also support a content property and a content model. Si solo usa el árbol lógico cree mediante estilos o plantillas, una vez, es incluso más fácil rellenar esa propiedad de contenido con los elementos secundarios equivalentes en el marcado directo.If you are only using whatever logical tree you create through styling or templating once, it would be even easier to just fill that content property with the equivalent child elements in direct markup. Los mecanismos de estilo y plantilla Esto podría omitir por completo.This would bypass the style and template mechanisms altogether.

Otras sintaxis habilitadas por las extensiones de marcado que devuelven un objeto también son posibles para los estilos y plantillas.Other syntaxes enabled by markup extensions that return an object are also possible for styles and templates. Dos de estas extensiones que tienen los posibles escenarios incluyen TemplateBinding y Binding.Two such extensions that have possible scenarios include TemplateBinding and Binding.

Vea tambiénSee also