Style Kelas
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.
Memungkinkan berbagi properti, sumber daya, dan penanganan aktivitas antara instans jenis.
public ref class Style : System::Windows::Threading::DispatcherObject, System::Windows::Markup::IAddChild, System::Windows::Markup::INameScope
public ref class Style : System::Windows::Threading::DispatcherObject, System::Windows::Markup::IAddChild, System::Windows::Markup::INameScope, System::Windows::Markup::IQueryAmbient
[System.Windows.Localizability(System.Windows.LocalizationCategory.Ignore)]
[System.Windows.Markup.ContentProperty("Setters")]
[System.Windows.Markup.DictionaryKeyProperty("TargetType")]
public class Style : System.Windows.Threading.DispatcherObject, System.Windows.Markup.IAddChild, System.Windows.Markup.INameScope
[System.Windows.Localizability(System.Windows.LocalizationCategory.Ignore)]
[System.Windows.Markup.ContentProperty("Setters")]
[System.Windows.Markup.DictionaryKeyProperty("TargetType")]
public class Style : System.Windows.Threading.DispatcherObject, System.Windows.Markup.IAddChild, System.Windows.Markup.INameScope, System.Windows.Markup.IQueryAmbient
[<System.Windows.Localizability(System.Windows.LocalizationCategory.Ignore)>]
[<System.Windows.Markup.ContentProperty("Setters")>]
[<System.Windows.Markup.DictionaryKeyProperty("TargetType")>]
type Style = class
inherit DispatcherObject
interface INameScope
interface IAddChild
[<System.Windows.Localizability(System.Windows.LocalizationCategory.Ignore)>]
[<System.Windows.Markup.ContentProperty("Setters")>]
[<System.Windows.Markup.DictionaryKeyProperty("TargetType")>]
type Style = class
inherit DispatcherObject
interface INameScope
interface IAddChild
interface IQueryAmbient
[<System.Windows.Localizability(System.Windows.LocalizationCategory.Ignore)>]
[<System.Windows.Markup.ContentProperty("Setters")>]
[<System.Windows.Markup.DictionaryKeyProperty("TargetType")>]
type Style = class
inherit DispatcherObject
interface IAddChild
interface INameScope
interface IQueryAmbient
Public Class Style
Inherits DispatcherObject
Implements IAddChild, INameScope
Public Class Style
Inherits DispatcherObject
Implements IAddChild, INameScope, IQueryAmbient
- Warisan
- Atribut
- Penerapan
Contoh
Contoh berikut menunjukkan deklarasi gaya yang akan memengaruhi Background properti .Control
<Style x:Key="Style1">
<Setter Property="Control.Background" Value="Yellow"/>
</Style>
Untuk menerapkan gaya di atas, lakukan hal berikut:
<Label Content="Yellow Background" Style="{StaticResource Style1}" />
Anda juga dapat menerapkan gaya ke semua elemen jenis tertentu dengan menggunakan TargetType properti . Menambahkan jenis target ke gaya berarti Anda tidak lagi harus sepenuhnya memenuhi syarat properti yang Anda atur dengan ClassName.PropertyName sintaks. Contoh berikut mendefinisikan gaya yang akan diterapkan ke setiap TextBlock elemen.
<Style TargetType="{x:Type TextBlock}">
<Setter Property="FontFamily" Value="Segoe Black" />
<Setter Property="HorizontalAlignment" Value="Center" />
<Setter Property="FontSize" Value="12pt" />
<Setter Property="Foreground" Value="#777777" />
</Style>
Nota
Banyak kontrol WPF terdiri dari kombinasi kontrol WPF lainnya, sehingga menciptakan gaya yang berlaku untuk semua kontrol jenis dapat berdampak luas. Misalnya, jika Anda membuat gaya yang menargetkan TextBlock kontrol dalam Canvas, gaya diterapkan ke semua TextBlock kontrol di kanvas, bahkan jika TextBlock adalah bagian dari kontrol lain, seperti ListBox.
Untuk informasi tentang cara memperluas atau mewarisi dari gaya yang ditentukan, lihat BasedOn halaman.
Keterangan
Anda dapat mengatur Style pada elemen apa pun yang berasal dari FrameworkElement atau FrameworkContentElement. Gaya paling umum dideklarasikan sebagai sumber daya di dalam bagian Resources . Karena gaya adalah sumber daya, gaya mematuhi aturan cakupan yang sama yang berlaku untuk semua sumber daya, jadi di mana Anda menyatakan gaya memengaruhi tempat gaya dapat diterapkan. Jika, misalnya, Anda mendeklarasikan gaya dalam elemen akar file XAML definisi aplikasi Anda, gaya dapat digunakan di mana saja dalam aplikasi Anda. Jika Anda membuat aplikasi navigasi dan mendeklarasikan gaya dalam salah satu file XAML aplikasi, gaya hanya dapat digunakan dalam file XAML tersebut. Untuk informasi selengkapnya tentang aturan cakupan untuk sumber daya, lihat Sumber Daya XAML.
Deklarasi gaya terdiri dari Style objek yang berisi kumpulan satu atau beberapa Setter objek. Masing-masing Setter terdiri dari Property dan Value. Properti adalah nama properti elemen tempat gaya diterapkan. Setelah gaya dinyatakan sebagai sumber daya, gaya tersebut kemudian dapat direferensikan seperti sumber daya lainnya.
Nota
Jika ada lebih dari satu setter dalam kumpulan setter dengan nilai properti yang sama Property , setter yang dinyatakan terakhir digunakan. Demikian pula, jika Anda menetapkan nilai untuk properti yang sama dalam gaya dan pada elemen secara langsung, nilai yang ditetapkan pada elemen secara langsung diutamakan.
Model gaya dan templat Windows Presentation Foundation (WPF) memungkinkan pemeliharaan dan berbagi tampilan serta pemisahan presentasi dan logika. Model gaya dan templat menyertakan serangkaian fitur yang memungkinkan Anda menyesuaikan UI Anda. Rangkaian fitur ini mencakup Style kelas serta yang berikut:
Untuk informasi selengkapnya, lihat Gaya dan Templat.
Konstruktor
| Nama | Deskripsi |
|---|---|
| Style() |
Menginisialisasi instans baru dari kelas Style. |
| Style(Type, Style) |
Menginisialisasi instans Style baru kelas untuk digunakan pada yang ditentukan Type dan berdasarkan Style. |
| Style(Type) |
Menginisialisasi instans Style baru kelas untuk digunakan pada Type. |
Properti
| Nama | Deskripsi |
|---|---|
| BasedOn |
Mendapatkan atau mengatur gaya yang ditentukan yang merupakan dasar dari gaya saat ini. |
| Dispatcher |
Dispatcher Mendapatkan ini DispatcherObject dikaitkan dengan. (Diperoleh dari DispatcherObject) |
| IsSealed |
Mendapatkan nilai yang menunjukkan apakah gaya bersifat baca-saja dan tidak dapat diubah. |
| Resources |
Mendapatkan atau mengatur kumpulan sumber daya yang dapat digunakan dalam cakupan gaya ini. |
| Setters |
Mendapatkan kumpulan Setter objek dan EventSetter . |
| TargetType |
Mendapatkan atau mengatur jenis yang dimaksudkan gaya ini. |
| Triggers |
Mendapatkan kumpulan TriggerBase objek yang menerapkan nilai properti berdasarkan kondisi yang ditentukan. |
Metode
| Nama | Deskripsi |
|---|---|
| CheckAccess() |
Menentukan apakah utas panggilan memiliki akses ke ini DispatcherObject. (Diperoleh dari DispatcherObject) |
| Equals(Object) |
Menentukan apakah objek yang ditentukan sama dengan objek saat ini. (Diperoleh dari Object) |
| GetHashCode() |
Mengembalikan kode hash untuk ini Style. |
| GetType() |
Mendapatkan Type instans saat ini. (Diperoleh dari Object) |
| MemberwiseClone() |
Membuat salinan dangkal dari Objectsaat ini. (Diperoleh dari Object) |
| RegisterName(String, Object) |
Mendaftarkan pasangan objek nama baru dalam namescope saat ini. |
| Seal() |
Mengunci gaya ini dan semua pabrik dan pemicu sehingga tidak dapat diubah. |
| ToString() |
Mengembalikan string yang mewakili objek saat ini. (Diperoleh dari Object) |
| UnregisterName(String) |
Menghapus pemetaan objek nama dari namescope. |
| VerifyAccess() |
Memberlakukan bahwa utas panggilan memiliki akses ke ini DispatcherObject. (Diperoleh dari DispatcherObject) |
Implementasi Antarmuka Eksplisit
| Nama | Deskripsi |
|---|---|
| IAddChild.AddChild(Object) |
Menambahkan objek anak. |
| IAddChild.AddText(String) |
Menambahkan konten teks simpul ke objek. |
| INameScope.FindName(String) |
Mengembalikan objek yang memiliki nama pengidentifikasi yang disediakan. |
| IQueryAmbient.IsAmbientPropertyAvailable(String) |
Mengkueri apakah properti sekitar tertentu tersedia dalam cakupan saat ini. |