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 faire référence au style pour ce contrôle, quand des 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é
Clé du style. Pour fonctionner correctement dans le cadre de la recherche du style de thème, cette valeur doit être le Type du contrôle auquel le style va être appliqué.
Exemples
L’exemple suivant illustre l’utilisation des métadonnées de propriété de dépendance décrite dans 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-classification de contrôle courant ; voir Marquage des événements routés en tant que handled et gestion des classes) et enfin remplace les métadonnées de la DefaultStyleKey propriété de dépendance sur la NumericUpDown
classe.
DefaultStyleKey retourne toujours son propre type en tant que clé prévue, qui est la convention que le système de style de thème utilise pour rechercher le style pour un contrôle arbitraire sinon sans 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 définie via aucun de ses accesseurs de propriété directe. 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 classe FrameworkElement dérivée. Lorsque vous dérivez un contrôle, appelez la OverrideMetadata méthode par rapport à l’identificateur DefaultStyleKeyProperty , au sein du constructeur statique de la classe dérivée du contrôle (ou d’une initialisation de classe équivalente).
Un contrôle remplace généralement la valeur par défaut de cette propriété pour qu’elle soit son propre type, mais dans certains cas, il peut également utiliser un type de base pour lequel il existe un style dans les dictionnaires de thèmes. 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 exposés par les types dérivés 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 délibérément pas de styles de thème, définissez la propriété sur OverridesDefaultStyletrue
.
Informations sur les propriétés de dépendance
Champ Identificateur | DefaultStyleKeyProperty |
Propriétés de métadonnées définies sur true |
AffectsMeasure |