Sdílet prostřednictvím


FrameworkElement.DefaultStyleKey Vlastnost

Definice

Získá nebo nastaví klíč pro odkaz na styl pro tento ovládací prvek, když jsou použity nebo definovány styly 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ávesa stylu. Chcete-li správně pracovat jako součást vyhledávání stylu motivu, očekává se, že tato hodnota bude Type odpovídat stylu ovládacího prvku.

Příklady

Následující příklad znázorňuje použití přepsání metadat vlastností závislostí probírané v poznámkách. Tento kód definuje vlastní třídu NumericUpDown ovládacího prvku, která má být použita z vyhrazeného sestavení knihovny ovládacích prvků. Ilustrovaný statický konstruktor odkazuje na funkci privátní inicializace, zaregistruje obslužnou rutinu třídy (další běžný scénář podtřídy ovládacích prvků; viz Označení směrovaných událostí jako zpracovaných a Zpracování tříd) a nakonec přepíše DefaultStyleKey metadata vlastnosti závislostí ve NumericUpDown třídě. DefaultStyleKey vždy vrátí vlastní typ jako zamýšlený klíč, což je konvence, kterou systém stylů motivu používá k vyhledání stylu pro nějaký libovolný, jinak neslohovaný 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 jejích přímých přístupových objektů vlastností. Místo toho přepíšete metadata specifická pro typ této vlastnosti závislosti pokaždé, když vytvoříte novou FrameworkElement odvozenou třídu. Když odvozujete ovládací prvek, zavolejte metodu OverrideMetadata 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 tak, aby byla jeho 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 žádné další členy, které jsou vystaveny odvozené typy nevyžadují další prvky jako součást šablony ovládacího prvku.

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

Informace o vlastnosti závislosti

Pole Identifikátor DefaultStyleKeyProperty
Vlastnosti metadat nastavené na true AffectsMeasure

Platí pro

Viz také