FrameworkElement.DefaultStyleKey Özellik

Tanım

Tema stilleri kullanıldığında veya tanımlandığında, bu denetimin stiline başvurmak için kullanılacak anahtarı alır veya ayarlar.

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

Özellik Değeri

Stil anahtarı. Tema stili aramanın bir parçası olarak düzgün çalışmak için, bu değerin Type stillendirilen denetimin değeri olması beklenir.

Örnekler

Aşağıdaki örnekte, Açıklamalar bölümünde açıklanan bağımlılık özelliği meta veri geçersiz kılma kullanımı gösterilmektedir. Bu kod, ayrılmış bir denetim kitaplığı derlemesinden kullanılması amaçlanan özel bir denetim sınıfını NumericUpDown tanımlar. Gösterilen statik oluşturucu bazı özel başlatma işlevine başvurur, bir sınıf işleyicisini kaydeder (başka bir yaygın denetim alt sınıflama senaryosu; bkz. Yönlendirilen Olayları İşlenmiş Olarak İşaretleme ve Sınıf İşleme) ve son olarak sınıfta bağımlılık özelliği meta verilerini NumericUpDown geçersiz kılar.DefaultStyleKey DefaultStyleKey her zaman hedeflenen anahtar olarak kendi türünü döndürür; bu, tema stili sisteminin rastgele olmayan, stilsiz bir denetim için stili aramak için kullandığı kuraldır.

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

Bu örneğin tam kaynak kodu Visual Basic için kullanılabilir.

Açıklamalar

Bu özellik genellikle doğrudan özellik erişimcilerinden herhangi biri aracılığıyla ayarlanmaz. Bunun yerine, her yeni FrameworkElement türetilmiş sınıf oluşturduğunuzda bu bağımlılık özelliğinin türe özgü meta verilerini geçersiz kılarsınız. Bir denetim türetdiğinizde, türetilen sınıfın DefaultStyleKeyProperty statik oluşturucusunun (veya eşdeğer sınıf başlatmasının) içindeki tanımlayıcıya karşı yöntemini çağırınOverrideMetadata.

Denetim genellikle bu özelliğin varsayılan değerini kendi türü olacak şekilde geçersiz kılar, ancak bazı durumlarda tema sözlüklerinde bir stilin bulunduğu bir temel türü de kullanabilir. Bu yalnızca temel denetimin denetim şablonları bu türetilmiş denetimin görsel gösterimini tamamen tanımlıyorsa ve türetilen türlerin kullanıma sunması gereken ek üyeler denetim şablonunun bir parçası olarak ek öğeler gerektirmiyorsa pratiktir.

Öğenizin veya denetiminizin kasıtlı olarak tema stillerini kullanmamasını istiyorsanız, özelliğini olarak trueayarlayınOverridesDefaultStyle.

Bağımlılık Özelliği Bilgileri

Tanımlayıcı alanı DefaultStyleKeyProperty
Meta veri özellikleri olarak ayarlandı true AffectsMeasure

Şunlara uygulanır

Ayrıca bkz.