Style, propriété

FrameworkElement.Style Property

Obtient ou définit une instance Style appliquée pour cet objet pendant la disposition ou le rendu.

Syntaxe


public Style Style { get; set; }


<frameworkElement Style="{StaticResource styleResourceKey}"/>

XAML Values

styleResourceKey

Clé qui identifie le style demandé. La clé fait référence à une ressource existante dans un ResourceDictionary.

Remarque  La syntaxe XAML d'élément de propriété pour définir un style intraligne est techniquement possible, mais non recommandée pour définir FrameworkElement.Style C'est parce que toute propriété définie à travers un style intraligne d'utilisation unique pourrait tout aussi bien avoir été définie aisément en définissant directement la propriété comme attribut (ou élément de propriété) XAML. La définition d'un style à usage unique pour définir cette même propriété offre un style de balisage généralement médiocre et peut se traduire par un comportement ambigu de définition de propriété à l'exécution.

Valeur de propriété

Type: Style

Style appliqué pour l'objet, s'il est présent ; sinon, null. La valeur par défaut pour un FrameworkElement construit d'après les valeurs par défaut est null.

Remarques

La définition directe de la propriété Style n'est pas la méthode la plus commune pour appliquer un style à l'apparence d'un élément de l'interface utilisateur. À la place, vous influencez l'apparence d'un élément d'interface utilisateur via l'une des techniques suivantes :

  • Vous définissez souvent des propriétés individuelles d'interface utilisateur d'un élément d'interface en tant qu'attributs en XAML. FrameworkElement.Style s'applique uniquement à l'élément actuel, et toute valeur de StyleFrameworkElement.Style est remplacée par une valeur de propriété locale. Ainsi, l'affectation de la valeur locale est plus directe et plus prévisible. Pour plus d'informations sur la relation entre une valeur Style et une valeur de propriété locale, consultez Vue d'ensemble des propriétés de dépendance.
  • Vérifiez que les auteurs écrivent généralement un contrôle qui est peut correspondre à un modèle, tout en disposant également d'un modèle par défaut. Votre application peut utiliser le contrôle et modifier son apparence en fournissant un nouveau ControlTemplate qui fait partie d'un Style défini dans les ressources. Ce style est généralement appliqué à l'aide de la fonctionnalité Style implicite et non en définissant Style. Pour plus d'informations, consultez Démarrage rapide : application de styles aux contrôles.
  • Vérifiez que les auteurs exposent également des propriétés qui référencent les parties d'un contrôle pouvant avoir des styles ou des valeurs appliqués qu'à cette partie ; de ce fait, vous n'avez pas besoin de recréer complètement le modèle du contrôle. Voici un exemple de définition d'une propriété plus spécifique, non FrameworkElement.Style.
  • Le modèle d'état visuel réinitialise fréquemment le style de contrôle au moment de l'exécution en réponse aux modifications d'états qui se manifestent aux utilisateurs visuellement. Par exemple, les modèles de contrôle présentent généralement un état "Focused" qui ajoute un indicateur de focus visuel à l'apparence du contrôle afin qu'un utilisateur de clavier puisse voir l'élément de l'interface utilisateur qui a le focus clavier. Pour plus d'informations sur le concept d'état visuel, consultez Quickstart: Control templates.

Vous pouvez modifier les valeurs de propriétés individuelles qui ont été définies dans un style. Par exemple, vous pouvez définir la propriété Template au moment de l'exécution même si cette propriété a été définie par un style. Vous pouvez également ajouter des accesseurs Set à la collection dans Setters. Toutefois, dès que ce style est placé et utilisé par un objet chargé, Style doit être considéré comme sealed. Vous pouvez détecter cet état en vérifiant la valeur de IsSealed pour le Style. Un style est considéré en cours d'utilisation dès qu'il est référencé par un objet chargé connecté à l'arborescence d'objets d'une page affichée de l'interface utilisateur. Un Style et ses Setters peuvent également être considérés comme scellés si l'objet utilisant ce style déclenche son événement Loaded. Toute tentative de modification d'une propriété individuelle d'un style en cours d'utilisation (notamment une propriété de la collection Setters) lève une exception.

Les classes dérivées de Control ont un point d'entrée supplémentaire qui est utile pour contrôler les auteurs de l'application des styles et des modèles. FrameworkElement définit le OnApplyTemplate du rappel virtuel appelé avant Loaded. Les classes dérivées de Control peuvent remplacer ce rappel pour ajuster les valeurs de propriétés qui ont été définies par les modèles avant l'utilisation du style.

En cas de requête au moment de l'exécution, la propriété Style ne retourne pas les styles qui proviennent d'un modèle appliqué, ou d'états visuels actifs. Elle retourne uniquement les styles qui ont été explicitement définis par la propriété Style. En outre, elle ne retourne pas de styles implicites.

Configuration requise

Client minimal pris en charge

Windows 8

Serveur minimal pris en charge

Windows Server 2012

Espace de noms

Windows.UI.Xaml
Windows::UI::Xaml [C++]

Métadonnées

Windows.winmd

Voir aussi

FrameworkElement
Démarrage rapide : application de styles aux contrôles
Style
Control

 

 

Afficher:
© 2016 Microsoft