FrameworkElement.DefaultStyleKey Właściwość
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Pobiera lub ustawia klucz używany do odwoływanie się do stylu tej kontrolki, gdy są używane lub zdefiniowane style motywu.
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
Wartość właściwości
Klucz stylu. Aby działało poprawnie w ramach wyszukiwania stylu motywu, ta wartość powinna być Type częścią kontrolki, która jest stylizowana.
Przykłady
Poniższy przykład ilustruje użycie metadanych właściwości zależności omówione w uwagach. Ten kod definiuje niestandardową klasę NumericUpDown
sterowania, która ma być używana z dedykowanego zestawu biblioteki kontrolek. Zilustrowany konstruktor statyczny odwołuje się do niektórych funkcji inicjowania prywatnego, rejestruje procedurę obsługi klas (inny typowy scenariusz podklasowania kontrolek; zobacz Oznaczanie trasowanych zdarzeń jako obsługiwane i Obsługa klas), a na koniec zastępuje DefaultStyleKey metadane właściwości zależności w NumericUpDown
klasie.
DefaultStyleKey Zawsze zwraca swój własny typ jako zamierzony klucz, czyli konwencję używaną przez system stylów motywu do wyszukiwania stylu dla dowolnej kontrolki w inny sposób bez stylu.
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
Kompletny kod źródłowy dla tego przykładu jest dostępny dla języka Visual Basic.
Uwagi
Ta właściwość zazwyczaj nie jest ustawiana za pomocą żadnych metod dostępu właściwości bezpośrednich. Zamiast tego należy zastąpić metadane specyficzne dla typu tej właściwości zależności za każdym razem, gdy tworzysz nową FrameworkElement klasę pochodną. Po utworzeniu kontrolki wywołaj OverrideMetadata metodę względem DefaultStyleKeyProperty identyfikatora w konstruktorze statycznym klasy pochodnej kontrolki (lub równoważnej inicjalizacji klasy).
Kontrolka zwykle zastępuje wartość domyślną tej właściwości jako własny typ, ale w niektórych przypadkach może również użyć typu podstawowego, dla którego istnieje styl w słownikach motywów. Jest to praktyczne tylko wtedy, gdy szablony kontrolek podstawowych całkowicie definiują wizualną reprezentację tej pochodnej kontrolki, a jeśli jakiekolwiek dodatkowe elementy członkowskie udostępniane przez typy pochodne nie wymagają dodatkowych elementów w ramach szablonu kontrolki.
Jeśli chcesz, aby element lub kontrolka celowo nie korzystała ze stylów motywu OverridesDefaultStyle , ustaw właściwość na true
.
Informacje dotyczące właściwości zależności
Pole identyfikatora | DefaultStyleKeyProperty |
Właściwości metadanych ustawione na true |
AffectsMeasure |