FrameworkElement.DefaultStyleKey Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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 |