FrameworkElement.DefaultStyleKey Propriété
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Obtient ou définit la clé à utiliser pour référencer le style de ce contrôle, lorsque les styles de thème sont utilisés ou définis.
protected public:
property System::Object ^ DefaultStyleKey { System::Object ^ get(); void set(System::Object ^ value); };
protected internal object DefaultStyleKey { get; set; }
member this.DefaultStyleKey : obj with get, set
Protected Friend Property DefaultStyleKey As Object
Valeur de propriété
Touche de style. Pour fonctionner correctement dans le cadre de la recherche de style de thème, cette valeur est censée être le Type contrôle en cours de style.
Exemples
L’exemple suivant illustre l’utilisation des métadonnées de propriété de dépendance qui remplacent l’utilisation décrite dans Les remarques. Ce code définit une classe NumericUpDown de contrôle personnalisée destinée à être utilisée à partir d’un assembly de bibliothèque de contrôles dédié. Le constructeur statique illustré fait référence à une fonction d’initialisation privée, inscrit un gestionnaire de classes (un autre scénario de sous-classe de contrôle commun ; consultez Marquage d’événements routés en tant que handled et gestion des classes) et remplace enfin les DefaultStyleKey métadonnées de propriété de dépendance sur la NumericUpDown classe.
DefaultStyleKey retourne toujours son propre type comme clé prévue, c’est-à-dire la convention que le système de style de thème utilise pour rechercher le style d’un contrôle arbitraire autrement non style.
using System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Input;
using System.Windows.Automation.Peers;
using System.Windows.Automation.Provider;
using System.Windows.Automation;
using System.Globalization;
using System.Diagnostics;
namespace CustomControlLibrary
{
public partial class NumericUpDown : Control
{
static NumericUpDown()
{
InitializeCommands();
// Listen to MouseLeftButtonDown event to determine if slide should move focus to itself
EventManager.RegisterClassHandler(typeof(NumericUpDown),
Mouse.MouseDownEvent, new MouseButtonEventHandler(NumericUpDown.OnMouseLeftButtonDown), true);
DefaultStyleKeyProperty.OverrideMetadata(typeof(NumericUpDown), new FrameworkPropertyMetadata(typeof(NumericUpDown)));
}
}
}
Imports System.Windows
Imports System.Windows.Controls
Imports System.Windows.Input
Namespace CustomControlLibrary
Public Partial Class NumericUpDown
Inherits Control
Shared Sub New()
InitializeCommands()
' Listen to MouseLeftButtonDown event to determine if slide should move focus to itself
EventManager.RegisterClassHandler(GetType(NumericUpDown), Mouse.MouseDownEvent, New MouseButtonEventHandler(AddressOf NumericUpDown.OnMouseLeftButtonDown), True)
DefaultStyleKeyProperty.OverrideMetadata(GetType(NumericUpDown), New FrameworkPropertyMetadata(GetType(NumericUpDown)))
End Sub
End Class
End Namespace
Le code source complet de cet exemple est disponible pour Visual Basic.
Remarques
Cette propriété n’est généralement pas définie par le biais de ses accesseurs de propriété directes. Au lieu de cela, vous remplacez les métadonnées spécifiques au type de cette propriété de dépendance chaque fois que vous créez une FrameworkElement classe dérivée. Lorsque vous dérivez un contrôle, appelez la OverrideMetadata méthode par rapport à l’identificateur DefaultStyleKeyProperty , dans le constructeur statique de la classe dérivée du contrôle (ou l’initialisation de classe équivalente).
Un contrôle remplace généralement la valeur par défaut de cette propriété pour être son propre type, mais dans certains cas peut également utiliser un type de base pour lequel un style dans les dictionnaires de thèmes existe. Cela n’est pratique que si les modèles de contrôle du contrôle de base définissent entièrement la représentation visuelle de ce contrôle dérivé, et si les membres supplémentaires que les types dérivés exposent ne nécessitent pas d’éléments supplémentaires dans le cadre du modèle de contrôle.
Si vous souhaitez que votre élément ou contrôle n’utilise pas délibérément les styles de thème, définissez la OverridesDefaultStyle propriété truesur .
Informations sur les propriétés de dépendance
| Élément | Valeur |
|---|---|
| Champ d’identificateur | DefaultStyleKeyProperty |
Propriétés de métadonnées définies sur true |
AffectsMeasure |