Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Artikel ini menjelaskan cara menerapkan properti dependensi dengan menggunakan bidang DependencyProperty untuk mendukung properti runtime bahasa umum (CLR). Properti dependensi mendukung beberapa fitur sistem properti Windows Presentation Foundation (WPF) tingkat lanjut. Fitur-fitur ini termasuk gaya, pengikatan data, warisan, animasi, dan nilai default. Jika Anda ingin properti yang Anda tentukan untuk mendukung fitur tersebut, maka terapkan properti Anda sebagai properti dependensi.
Contoh
Contoh berikut menunjukkan cara mendaftarkan properti dependensi, dengan memanggil metode Register. Metode Register mengembalikan instans DependencyProperty yang disebut pengidentifikasi properti dependensi . Pengidentifikasi disimpan di bidang static readonly, dan menyimpan nama serta karakteristik properti dependensinya.
Bidang pengidentifikasi harus mengikuti konvensi penamaan <property name>Property. Misalnya, jika Anda mendaftarkan properti dependensi dengan nama Location, maka bidang pengidentifikasi harus diberi nama LocationProperty. Jika Anda gagal mengikuti pola penamaan ini, maka perancang WPF mungkin tidak melaporkan properti Anda dengan benar, dan aspek aplikasi gaya sistem properti mungkin tidak berulah seperti yang diharapkan.
Dalam contoh berikut, nama properti dependensi dan aksesor CLR-nya HasFish, sehingga bidang pengidentifikasi diberi nama HasFishProperty. Jenis properti dependensi adalah Boolean dan jenis pemilik yang mendaftarkan properti dependensi adalah Aquarium.
Anda dapat menentukan metadata default untuk properti dependensi. Contoh ini menetapkan nilai default false untuk properti dependensi HasFish.
public class Aquarium : DependencyObject
{
public static readonly DependencyProperty HasFishProperty =
DependencyProperty.Register(
name: "HasFish",
propertyType: typeof(bool),
ownerType: typeof(Aquarium),
typeMetadata: new FrameworkPropertyMetadata(defaultValue: false));
public bool HasFish
{
get => (bool)GetValue(HasFishProperty);
set => SetValue(HasFishProperty, value);
}
}
Public Class Aquarium
Inherits DependencyObject
Public Shared ReadOnly HasFishProperty As DependencyProperty =
DependencyProperty.Register(
name:="HasFish",
propertyType:=GetType(Boolean),
ownerType:=GetType(Aquarium),
typeMetadata:=New FrameworkPropertyMetadata(defaultValue:=False))
Public Property HasFish As Boolean
Get
Return GetValue(HasFishProperty)
End Get
Set(value As Boolean)
SetValue(HasFishProperty, value)
End Set
End Property
End Class
Untuk informasi selengkapnya tentang bagaimana dan mengapa menerapkan properti dependensi, daripada hanya mendukung properti CLR dengan bidang privat, lihat gambaran umum properti dependensi .
Lihat juga
.NET Desktop feedback