FrameworkElement.DefaultStyleKey Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft den Schlüssel ab, der zum Referenzieren der Formatvorlage für dieses Steuerelement verwendet werden soll, wenn Designformatvorlagen verwendet werden oder definiert sind.
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. Damit er als Teil der Designformatvorlagen-Suche ordnungsgemäß funktioniert, wird erwartet, dass dieser Wert der Type des Steuerelements ist, das formatiert wird.
Beispiele
Im folgenden Beispiel wird veranschaulicht, wie die Metadaten der Abhängigkeitseigenschaft die Verwendung außer Kraft setzen, die unter Hinweise erläutert wird. Dieser Code definiert eine benutzerdefinierte Steuerelementklasse NumericUpDown
, die von einer dedizierten Steuerelementbibliotheksassembly verwendet werden soll. Der veranschaulichte statische Konstruktor verweist auf eine private Initialisierungsfunktion, registriert einen Klassenhandler (ein weiteres gängiges Steuerelementunterklassenszenario; siehe Markieren von Routingereignissen als verarbeitet und Klassenbehandlung) und setzt schließlich die Metadaten der DefaultStyleKey Abhängigkeitseigenschaft für die NumericUpDown
-Klasse außer Kraft.
DefaultStyleKey Gibt immer einen eigenen Typ als beabsichtigten Schlüssel zurück. Dies ist die Konvention, die das Designstilsystem verwendet, um die Formatvorlage für ein beliebiges, ansonsten nicht formatiertes Steuerelement nachzuschlagen.
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ändige Quellcode für dieses Beispiel ist für Visual Basic verfügbar.
Hinweise
Diese Eigenschaft wird in der Regel nicht über einen der direkten Eigenschaftszugriffe festgelegt. Stattdessen überschreiben Sie die typspezifischen Metadaten dieser Abhängigkeitseigenschaft jedes Mal, wenn Sie eine neue FrameworkElement abgeleitete Klasse erstellen. Wenn Sie ein Steuerelement ableiten, rufen Sie die OverrideMetadata -Methode für den DefaultStyleKeyProperty Bezeichner innerhalb des statischen Konstruktors der vom Steuerelement abgeleiteten Klasse (oder der entsprechenden Klasseninitialisierung) auf.
Ein Steuerelement überschreibt in der Regel den Standardwert dieser Eigenschaft, um einen eigenen Typ zu sein, kann aber in einigen Fällen auch einen Basistyp verwenden, für den eine Formatvorlage in den Designwörterbüchern vorhanden ist. Dies ist nur sinnvoll, wenn die Steuerelementvorlagen des Basissteuerelements die visuelle Darstellung des abgeleiteten Steuerelements vollständig definieren und wenn die abgeleiteten Typen zusätzliche Elemente nicht als Teil der Steuerelementvorlage benötigen.
Wenn Ihr Element oder Steuerelement absichtlich keine Designstile verwendet, legen Sie die OverridesDefaultStyle -Eigenschaft auf fest true
.
Informationen zur Abhängigkeitseigenschaft
Bezeichnerfeld | DefaultStyleKeyProperty |
Metadateneigenschaften auf true festgelegt |
AffectsMeasure |