FrameworkElement.DefaultStyleKey Properti
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mendapatkan atau mengatur kunci yang akan digunakan untuk mereferensikan gaya untuk kontrol ini, saat gaya tema digunakan atau ditentukan.
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
Nilai Properti
Kunci gaya. Untuk bekerja dengan benar sebagai bagian dari pencarian gaya tema, nilai ini diharapkan menjadi Type kontrol yang sedang ditata.
Contoh
Contoh berikut mengilustrasikan penggunaan penimpaan metadata properti dependensi yang dibahas dalam Keterangan. Kode ini mendefinisikan kelas NumericUpDown
kontrol kustom yang dimaksudkan untuk digunakan dari rakitan pustaka kontrol khusus. Konstruktor statis yang diilustrasikan mereferensikan beberapa fungsi inisialisasi privat, mendaftarkan handler kelas (skenario subkelas kontrol umum lainnya; lihat Menandai Peristiwa Yang Dirutekan sebagai Ditangani, dan Penanganan Kelas) dan akhirnya menggantikan DefaultStyleKey metadata properti dependensi pada NumericUpDown
kelas.
DefaultStyleKey selalu mengembalikan jenisnya sendiri sebagai kunci yang dimaksudkan, yang merupakan konvensi yang digunakan sistem gaya tema untuk mencari gaya untuk beberapa kontrol arbitrer jika tidak ditata.
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
Kode sumber lengkap untuk contoh ini tersedia untuk Visual Basic.
Keterangan
Properti ini biasanya tidak diatur melalui salah satu pengaktif properti langsungnya. Sebagai gantinya, Anda mengganti metadata khusus jenis properti dependensi ini setiap kali Anda membuat kelas turunan baru FrameworkElement . Saat Anda mendapatkan kontrol, panggil OverrideMetadata metode terhadap DefaultStyleKeyProperty pengidentifikasi, dalam konstruktor statis kelas turunan kontrol (atau inisialisasi kelas yang setara).
Kontrol biasanya mengambil alih nilai default properti ini menjadi jenisnya sendiri, tetapi dalam beberapa kasus juga dapat menggunakan jenis dasar di mana gaya dalam kamus tema ada. Ini hanya praktis jika templat kontrol kontrol dasar sepenuhnya menentukan representasi visual kontrol turunan tersebut, dan jika apa pun anggota tambahan yang diekspos jenis turunan tidak memerlukan elemen tambahan sebagai bagian dari templat kontrol.
Jika Anda ingin elemen atau kontrol Anda sengaja tidak menggunakan gaya tema, atur properti ke OverridesDefaultStyletrue
.
Informasi Properti Dependensi
Bidang pengidentifikasi | DefaultStyleKeyProperty |
Properti metadata diatur ke true |
AffectsMeasure |