FrameworkElement.DefaultStyleKey Eigenschap

Definitie

Hiermee haalt u de sleutel op die moet worden gebruikt om te verwijzen naar de stijl voor dit besturingselement, wanneer themastijlen worden gebruikt of gedefinieerd.

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

Waarde van eigenschap

De stijltoets. Deze waarde is naar verwachting het Type besturingselement dat wordt gestijld om correct te werken als onderdeel van het opzoeken van themastijlen.

Voorbeelden

In het volgende voorbeeld ziet u hoe de metagegevens van de afhankelijkheidseigenschap het gebruik overschrijven dat wordt besproken in Opmerkingen. Deze code definieert een aangepaste besturingselementklasse NumericUpDown die is bedoeld voor gebruik vanuit een speciale besturingsbibliotheekassembly. De geïllustreerde statische constructor verwijst naar een privé-initialisatiefunctie, registreert een klasse-handler (een ander veelvoorkomend subklassescenario voor besturingselementen; zie Gerouteerde gebeurtenissen markeren als verwerkt en klasseafhandeling) en overschrijft ten slotte de metagegevens van de DefaultStyleKey afhankelijkheidseigenschap voor de NumericUpDown klasse. DefaultStyleKey retourneert altijd een eigen type als de beoogde sleutel. Dit is de conventie die het themastijlsysteem gebruikt om de stijl op te zoeken voor een willekeurig, anders niet-gestijld besturingselement.

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

De volledige broncode voor dit voorbeeld is beschikbaar voor Visual Basic.

Opmerkingen

Deze eigenschap wordt doorgaans niet ingesteld via een van de directe eigenschapstoegangsors. In plaats daarvan overschrijft u de typespecifieke metagegevens van deze afhankelijkheidseigenschap telkens wanneer u een nieuwe FrameworkElement afgeleide klasse maakt. Wanneer u een besturingselement afleidt, roept u de OverrideMetadata methode aan op basis van de DefaultStyleKeyProperty id, binnen de statische constructor van de afgeleide besturingselementklasse (of equivalente klasse-initialisatie).

Een besturingselement overschrijft doorgaans de standaardwaarde van deze eigenschap als een eigen type, maar in sommige gevallen kan ook een basistype worden gebruikt waarvoor een stijl in de themawoordenlijsten bestaat. Dit is alleen praktisch als de besturingssjablonen van het basisbesturingselement de visuele weergave van dat afgeleide besturingselement volledig definiëren, en als voor alle aanvullende leden van de afgeleide typen geen extra elementen nodig zijn als onderdeel van de besturingssjabloon.

Als u wilt dat uw element of besturingselement bewust geen themastijlen gebruikt, stelt u de OverridesDefaultStyle eigenschap in op true.

Informatie over afhankelijkheidseigenschappen

Item Waarde
Id-veld DefaultStyleKeyProperty
Eigenschappen van metagegevens ingesteld op true AffectsMeasure

Van toepassing op

Zie ook