Modèles et styles intralignesInline Styles and Templates

Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) Fournit des Style objets et les objets de modèle (FrameworkTemplate sous-classes) comme un moyen de définir l’apparence visuelle d’un élément dans les ressources, afin qu’ils peuvent être utilisés plusieurs fois.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. Pour cette raison, les attributs dans XAMLXAML qui prennent les types Style et FrameworkTemplate presque toujours font référence aux styles et modèles existant des ressources plutôt que définir de nouveaux inline.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.

Limitations des modèles et Styles intralignesLimitations of Inline Styles and Templates

Dans langage XAML (eXtensible Application Markup Language)Extensible Application Markup Language (XAML), pouvant techniquement définir les propriétés de style et de modèle de deux façons.In langage XAML (eXtensible Application Markup Language)Extensible Application Markup Language (XAML), style and template properties can technically be set in one of two ways. Vous pouvez utiliser la syntaxe d’attribut pour référencer un style qui a été défini dans une ressource, par exemple < objetStyle="{StaticResourcemyResourceKey}" .../>.You can use attribute syntax to reference a style that was defined within a resource, for example <objectStyle="{StaticResourcemyResourceKey}" .../>. Ou vous pouvez utiliser la syntaxe d’élément de propriété pour définir un style intraligne, par exemple :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 >

L’utilisation de l’attribut est beaucoup plus courante.The attribute usage is much more common. Un style qui est défini en ligne et les ressources non définis dans est nécessairement limité à l’élément conteneur uniquement et ne peut pas être réutilisé aussi facilement, car il n’a aucune clé de ressource.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 général un style défini par la ressource est plus souple et utile et est plus conforme générales Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) principe de séparer la logique de programme dans le code de conception dans le balisage modèle de programmation.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.

En général il n’existe aucune raison pour définir un style ou un modèle en ligne, même si vous comptez utiliser uniquement ce style ou modèle à cet emplacement.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 plupart des éléments qui peuvent prendre un style ou un modèle prennent également en charge une propriété de contenu et un modèle de contenu.Most elements that can take a style or template also support a content property and a content model. Si vous utilisez uniquement l’arborescence logique vous créez dans un style ou de la création de modèles, il serait encore plus facile de renseigner simplement cette propriété de contenu avec les éléments enfants équivalents dans le balisage direct.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. Cela permettrait de contourner les mécanismes de style et de modèle complètement.This would bypass the style and template mechanisms altogether.

Autres syntaxes activées par les extensions de balisage qui retournent un objet sont également possibles pour les styles et modèles.Other syntaxes enabled by markup extensions that return an object are also possible for styles and templates. Deux extensions des scénarios possibles incluent TemplateBinding et Binding.Two such extensions that have possible scenarios include TemplateBinding and Binding.

Voir aussiSee also