Langage

FrameworkElement.Style Propriété

Définition

Obtient ou définit un style d’instance appliqué à cet objet pendant la disposition et le rendu.

public:
 property Style ^ Style { Style ^ get(); void set(Style ^ value); };
Style Style();

void Style(Style value);
public Style Style { get; set; }
var style = frameworkElement.style;
frameworkElement.style = style;
Public Property Style As Style
<frameworkElement Style="{StaticResource styleResourceKey}"/>

Valeur de propriété

Style appliqué pour l’objet, le cas échéant ; sinon, null. La valeur par défaut d’un FrameworkElement construit par défaut est null.

Remarques

La définition directe de la Style propriété n’est pas le moyen le plus courant de styler l’apparence d’un élément d’interface utilisateur. Au lieu de cela, 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 d’interface utilisateur individuelles d’un élément d’interface utilisateur en tant qu’attributs en XAML. FrameworkElement.Style s’applique uniquement à l’élément actuel, et toute valeur d’un FrameworkElement.Style élément est remplacée par une valeur de propriété locale, de sorte que la définition de la valeur locale est plus directe et plus prévisible. Pour plus d’informations sur la façon dont une valeur de style et une valeur de propriété locale sont liées, consultez la vue d’ensemble des propriétés de dépendance.
  • Les auteurs de contrôles écrivent généralement un contrôle qui est templatable, mais il est également fourni avec 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é de style implicite , et non en définissant Style. Pour plus d’informations, consultez Contrôles de style.
  • Les auteurs de contrôles exposent également des propriétés qui référencent des parties d’un contrôle qui peuvent avoir des styles ou des valeurs appliqués à cette partie, de sorte que vous n’avez pas à rétempler totalement le contrôle. Ici, vous définissez une propriété plus spécifique, pas 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 apportées aux états qui se manifestent visuellement pour les utilisateurs. Par exemple, les modèles de contrôle ont généralement un état « Prioritaire » qui ajoute un indicateur de focus visuel à l’apparence du contrôle afin qu’un utilisateur de clavier puisse voir quel élément de l’interface utilisateur a le focus clavier actuel. Pour plus d’informations sur le concept d’état visuel, consultez les modèles de contrôle XAML.

Vous pouvez modifier les valeurs des 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 setters à la collection dans Setters. Toutefois, dès que ce style est placé en cours d’utilisation par un objet chargé, le style doit être considéré comme scellé. Vous pouvez détecter cet état en vérifiant la valeur de IsSealed pour le Style. Un style est considéré comme étant utilisé 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. A Style et son Setters peut également être considéré comme scellé lorsque l’objet utilisant ce style déclenche son événement Loaded . La tentative de modification d’une propriété individuelle d’un style in-use (par exemple, une propriété dans la Setters collection) 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 en ce qui concerne le style et l’application de modèle. FrameworkElement définit le rappel virtuel OnApplyTemplate appelé avant Le chargement. Les classes dérivées Control de peuvent remplacer ce rappel pour ajuster les valeurs de propriété définies par les modèles avant que le style ne soit utilisé.

Si interrogée au moment de l’exécution, la Style propriété ne retourne pas de styles provenant d’un modèle appliqué ou d’états visuels actifs. Elle retourne uniquement les styles qui ont été explicitement définis par la Style propriété. En outre, il ne retourne pas de styles implicites.

S’applique à