FrameworkElement.DefaultStyleKey Özellik
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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 true
ayarlayınOverridesDefaultStyle.
Bağımlılık Özelliği Bilgileri
Tanımlayıcı alanı | DefaultStyleKeyProperty |
Meta veri özellikleri olarak ayarlandı true |
AffectsMeasure |