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

Definition

Ruft den Schlüssel ab, der zum Referenzieren der Formatvorlage für dieses Steuerelement verwendet werden soll, wenn Designformatvorlagen verwendet werden oder definiert sind.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

Eigenschaftswert

Der Formatvorlagenschlüssel.The style key. Damit er als Teil der Designformatvorlagen-Suche ordnungsgemäß funktioniert, wird erwartet, dass dieser Wert der Type des Steuerelements ist, das formatiert wird.To work correctly as part of theme style lookup, this value is expected to be the Type of the control being styled.

Beispiele

Das folgende Beispiel veranschaulicht die Verwendung der Abhängigkeitseigenschaft-Metadaten außer Kraft setzen in den Hinweisen beschrieben.The following example illustrates the dependency property metadata override usage discussed in Remarks. Dieser Code definiert eine benutzerdefinierte Steuerelementklasse NumericUpDown aus einer dedizierten Bibliothek Steuerelementassembly verwendet werden soll.This code defines a custom control class NumericUpDown intended to be used from a dedicated control library assembly. Die dargestellten statische Konstruktor verweist auf einige private Initialisierungsfunktion, registriert einen Klassenhandler (ein weiteres gängiges Szenario zum Erstellen von Unterklassen; Siehe Markieren von Routingereignissen als behandelt und Klassenbehandlung) und schließlich überschreibt die DefaultStyleKey Metadaten für Abhängigkeitseigenschaften auf die NumericUpDown Klasse.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 Gibt Sie immer einen eigenen Typ zurück, als beabsichtigten Schlüssel, der der Konvention, die das System der Design-Stil verwendet ist, um den Stil für ein beliebiges ansonsten nicht formatiertes Steuerelement zu suchen.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. Das vollständige Beispiel definiert auch das tatsächliche Steuerelement Designstil, die durch diesen Schlüssel verwiesen wird. finden Sie unter NumericUpDown Custom Control with Theme "und" UI Automation Support Sample.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

Der vollständigen Quellcode für dieses Beispiel ist auf GitHub verfügbar, für beide C# und Visual Basic.The complete source code for this example is available on GitHub for both C# and Visual Basic.

Hinweise

Diese Eigenschaft wird in der Regel nicht über einen beliebigen ihrer direkten Eigenschaftenaccessoren festgelegt.This property is typically not set through any of its direct property accessors. Stattdessen überschreiben Sie die typspezifische Metadaten dieser Abhängigkeitseigenschaft jedes Mal, wenn Sie ein neues erstellen FrameworkElement abgeleitete Klasse.Instead, you override the type-specific metadata of this dependency property every time you create a new FrameworkElement derived class. Wenn Sie ein Steuerelement abgeleitet werden, rufen Sie die OverrideMetadata -Methode für die DefaultStyleKeyProperty Bezeichner im statischen Konstruktor des Steuerelements abgeleitete Klasse (oder entsprechende klasseninitialisierung).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).

Ein Steuerelement in der Regel überschreibt den Standardwert dieser Eigenschaft auf einen eigenen Typ sein, aber in einigen Fällen kann auch verwenden einen Basistyp für den ein Stil in die Designwörterbücher vorhanden ist.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. Dies ist nur praktisch, wenn die Vorlagen des Basissteuerelements vollständig die visuelle Darstellung des abgeleiteten Steuerelements definieren und beliebige zusätzliche Member, die die abgeleiteten Typen verfügbar machen keine zusätzlichen Elemente als Teil der Steuerelementvorlage erforderlich ist.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.

Wenn Sie ein Element oder Steuerelement Designstile absichtlich nicht verwenden möchten, legen Sie die OverridesDefaultStyle Eigenschaft true.If you want your element or control to deliberately not use theme styles, set the OverridesDefaultStyle property to true.

Informationen zur AbhängigkeitseigenschaftDependency Property Information

Feld "ID"Identifier field DefaultStyleKeyProperty
Legen Sie auf der Metadaten-Eigenschaften trueMetadata properties set to true AffectsMeasure

Gilt für:

Siehe auch