Partager via


Modèles et styles intralignes

Windows Presentation Foundation (WPF) fournit des Style objets et des objets de modèle (FrameworkTemplate sous-classes) comme moyen de définir l’apparence visuelle d’un élément dans les ressources, afin qu’ils puissent être utilisés plusieurs fois. Pour cette raison, les attributs en XAML qui prennent les types et FrameworkTemplate font presque toujours référence à des ressources Style aux styles et modèles existants plutôt que de définir de nouveaux types inline.

Limitations des styles et modèles inline

Dans XAML (Extensible Application Markup Language), les propriétés de style et de modèle peuvent être définies techniquement de deux manières. Vous pouvez utiliser la syntaxe d’attribut pour référencer un style défini dans une ressource, par exemple <l’objetStyle="{StaticResourcemyResourceKey}" .../>. Vous pouvez également utiliser la syntaxe d’élément de propriété pour définir un style inline, par exemple :

<objet >

<objet .Style>

< Style .../>

</objet .Style>

</objet >

L’utilisation des attributs est beaucoup plus courante. Un style défini inline et non défini dans les ressources est nécessairement limité à l’élément conteneur uniquement et ne peut pas être réutilisé aussi facilement, car il n’a pas de clé de ressource. En général, un style défini par les ressources est plus polyvalent et plus utile, et il est plus conforme au principe général du modèle de programmation WPF (Windows Presentation Foundation) de séparation de la logique de programme dans le code de la conception dans le balisage.

En règle générale, il n’existe aucune raison de définir un style ou un modèle inline, même si vous envisagez uniquement d’utiliser ce style ou ce modèle à cet emplacement. 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 con mode tente l. Si vous utilisez uniquement l’arborescence logique que vous créez via le style ou la création de modèles une seule fois, il serait même plus facile de remplir cette propriété de contenu avec les éléments enfants équivalents dans le balisage direct. Cela contournerait complètement les mécanismes de style et de modèle.

D’autres syntaxes activées par les extensions de balisage qui retournent un objet sont également possibles pour les styles et les modèles. Deux extensions de ce type qui ont des scénarios possibles incluent TemplateBinding et Binding.

Voir aussi