FrameworkElement.DefaultStyleKey FrameworkElement.DefaultStyleKey FrameworkElement.DefaultStyleKey FrameworkElement.DefaultStyleKey Property

Définition

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.Gets or sets the key to use to reference the style for this control, when theme styles are used or defined.

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.The style key. 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é.To work correctly as part of theme style lookup, this value is expected to be the Type of the control being styled.

Exemples

L’exemple suivant illustre l’utilisation de substitutions de propriété de dépendance métadonnées discutée dans les notes.The following example illustrates the dependency property metadata override usage discussed in Remarks. Ce code définit une classe de contrôle personnalisé NumericUpDown destinée à être utilisée à partir d’un assembly de bibliothèque de contrôle dédié.This code defines a custom control class NumericUpDown intended to be used from a dedicated control library assembly. Le constructeur statique illustré fait référence à une fonction d’initialisation privée, enregistre un gestionnaire de classe (un autre scénario de sous-classement de contrôle commun ; consultez marquage des événements routés comme gérés et gestion de classe) et enfin remplace le DefaultStyleKey des métadonnées de propriété de dépendance sur la NumericUpDown classe.The illustrated static constructor references some private initialization function, registers a class handler (another common control subclassing scenario; see Marking Routed Events as Handled, and Class Handling) and finally overrides the DefaultStyleKey dependency property metadata on the NumericUpDown class. DefaultStyleKey Retourne toujours son propre type comme clé prévue, qui est la convention que le système de style de thème utilise pour rechercher le style de contrôles arbitraires sans style.DefaultStyleKey always returns its own type as the intended key, which is the convention that the theme style system uses to look up the style for some arbitrary otherwise non-styled control. L’exemple complet définit également le style de thème du contrôle réel qui est référencé par cette clé ; consultez contrôle personnalisé NumericUpDown avec thème et prise en charge d’UI Automation, exemple.The complete sample also defines the actual control's theme style that is referenced by that key; see NumericUpDown Custom Control with Theme and UI Automation Support Sample.

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 pour cet exemple est disponible sur GitHub pour les deux C# et Visual Basic.The complete source code for this example is available on GitHub for both C# and Visual Basic.

Remarques

Cette propriété n’est pas généralement définie via une de ses accesseurs de propriété direct.This property is typically not set through any of its direct property accessors. Au lieu de cela, vous substituez les métadonnées spécifiques au type de cette propriété de dépendance chaque fois que vous créez un nouveau FrameworkElement classe dérivée.Instead, you override the type-specific metadata of this dependency property every time you create a new FrameworkElement derived class. Lorsque vous dérivez un contrôle, appelez le OverrideMetadata méthode par rapport à la DefaultStyleKeyProperty identificateur, dans le constructeur statique du contrôle dérivé de classe (ou l’initialisation de classe équivalente).When you derive a control, call the OverrideMetadata method against the DefaultStyleKeyProperty identifier, within the static constructor of the control derived class (or equivalent class initialization).

En général, un contrôle remplace la valeur par défaut de cette propriété peut être son propre type, mais dans certains cas peut également utiliser un type de base pour lesquelles il existe un style dans les dictionnaires de thème.A control typically overrides the default value of this property to be its own type, but in some cases could also use a base type for which a style in the theme dictionaries exists. Cela est uniquement pratique 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 exposent les types dérivés des membres supplémentaires ne nécessitent pas d’éléments supplémentaires dans le cadre du modèle de contrôle.This is only practical if the control templates of the base control entirely define the visual representation of that derived control, and if whatever additional members the derived types expose do not require additional elements as part of the control template.

Si vous souhaitez que votre élément ou un contrôle de délibérément ne pas utiliser les styles de thème, définissez le OverridesDefaultStyle propriété true.If you want your element or control to deliberately not use theme styles, set the OverridesDefaultStyle property to true.

Informations sur les propriétés de dépendanceDependency Property Information

Champ d’identificateurIdentifier field DefaultStyleKeyProperty
La valeur des propriétés de métadonnées trueMetadata properties set to true AffectsMeasure

S’applique à

Voir aussi