FrameworkElement.DefaultStyleKey Eigenschap
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
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 |