Sdílet prostřednictvím


FrameworkElement.DefaultStyleKey Vlastnost

Definice

Získá nebo nastaví klíč, který se má použít k odkazování na styl pro tento ovládací prvek, při použití nebo definování stylů motivu.

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

Hodnota vlastnosti

Klíč stylu. Chcete-li správně pracovat jako součást vyhledávání stylu motivu, očekává se, že tato hodnota bude Type stylem ovládacího prvku.

Příklady

Následující příklad znázorňuje metadata vlastnosti závislosti přepsání použití popsáno v poznámkách. Tento kód definuje vlastní třídu NumericUpDown ovládacích prvků určenou k použití z vyhrazeného sestavení knihovny ovládacích prvků. Ilustrovaný statický konstruktor odkazuje na některé privátní inicializační funkce, zaregistruje obslužnou rutinu třídy (jiný běžný scénář podtřídy ovládacích prvků; viz Označení směrovaných událostí jako popisovaných a zpracování tříd) a nakonec přepíše DefaultStyleKey metadata vlastností závislostí ve NumericUpDown třídě. DefaultStyleKey Vždy vrátí svůj vlastní typ jako zamýšlený klíč, což je konvence, kterou systém stylu motivu používá k vyhledání stylu pro některé libovolné jinak ne styled ovládací prvek.

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

Úplný zdrojový kód pro tento příklad je k dispozici pro Visual Basic.

Poznámky

Tato vlastnost se obvykle nenastavuje prostřednictvím žádného z jeho přímých přístupových objektů vlastností. Místo toho přepíšete metadata specifická pro typ této vlastnosti závislosti při každém vytvoření nové FrameworkElement odvozené třídy. Při odvození ovládacího prvku volejte OverrideMetadata metodu proti identifikátoru DefaultStyleKeyProperty v rámci statického konstruktoru odvozené třídy ovládacího prvku (nebo ekvivalentní inicializace třídy).

Ovládací prvek obvykle přepíše výchozí hodnotu této vlastnosti vlastním typem, ale v některých případech může také použít základní typ, pro který existuje styl ve slovníkech motivu. To je praktické pouze v případě, že šablony ovládacích prvků základního ovládacího prvku zcela definují vizuální reprezentaci tohoto odvozeného ovládacího prvku, a pokud jakékoli další členy, které odvozené typy zpřístupňují, nevyžadují další prvky jako součást šablony ovládacího prvku.

Pokud chcete, aby prvek nebo ovládací prvek záměrně nepoužívejte styly motivu, nastavte OverridesDefaultStyle vlastnost na truehodnotu .

Informace o vlastnosti závislosti

Položka Hodnota
Pole Identifikátor DefaultStyleKeyProperty
Vlastnosti metadat nastavené na true AffectsMeasure

Platí pro

Viz také