ContentPropertyAttribute 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.
Menunjukkan properti jenis mana yang merupakan properti konten XAML. Prosesor XAML menggunakan informasi ini saat memproses elemen anak XAML dari representasi XAML dari jenis yang diatribusikan.
public ref class ContentPropertyAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple=false, Inherited=true)]
public sealed class ContentPropertyAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple=false, Inherited=true)>]
type ContentPropertyAttribute = class
inherit Attribute
Public NotInheritable Class ContentPropertyAttribute
Inherits Attribute
- Warisan
- Atribut
Contoh
Contoh berikut membuat kelas bernama Film
yang telah ContentPropertyAttribute diterapkan. Properti bernama Title
ditunjukkan sebagai properti konten.
[ContentProperty("Title")]
public class Film
{
public Film()
{
}
public string Title
{
get { return _title; }
set { _title = value; }
}
private string _title;
}
<ContentProperty("Title")>
Public Class Film
Public Sub New()
End Sub
Public Property Title() As String
Get
Return _title
End Get
Set(ByVal value As String)
_title = value
End Set
End Property
Private _title As String
End Class
Keterangan
Jika properti terkait dari ContentPropertyAttribute bukan jenis string
atau object
, prosesor XAML mencoba mengidentifikasi teknik konversi nilai. Pemeriksaan pertama adalah untuk konversi jenis asli, salah satu primitif bahasa XAML atau konversi asli tertentu yang diaktifkan oleh implementasi penulis XAML tertentu. Langkah selanjutnya adalah mencari pengonversi jenis. Dalam implementasi .NET, pengonversi jenis diidentifikasi berdasarkan TypeConverterAttribute tingkat anggota atau definisi tingkat jenis yang berlaku. Jika tidak ada konversi nilai yang dapat diidentifikasi, penulis objek XAML biasanya melemparkan pengecualian.
Untuk menerima lebih dari satu elemen objek sebagai konten, jenis properti konten XAML harus dapat didukung sebagai jenis koleksi.
Inherited=true
Karena deklarasi atribut , nilai untuk ContentPropertyAttribute biasanya menerapkan penunjukan properti konten untuk semua kelas turunan juga. Menerapkan kosong ContentPropertyAttribute memungkinkan kelas turunan untuk menghapus deklarasi atribut properti konten oleh kelas dasar (dan untuk mencatat bahwa kelas tidak memiliki properti konten). Menerapkan nama ContentPropertyAttribute yang berbeda menggantikan yang diwariskan ContentPropertyAttribute dengan yang baru.
Dalam versi .NET Framework sebelumnya, kelas ini ada di rakitan khusus WPF WindowsBase, dan juga memiliki implementasi paralel di Windows Communication Foundation (WCF). Dimulai dengan .NET Framework 4.0, ContentPropertyAttribute ada di perakitan System.Xaml. Untuk informasi selengkapnya, lihat Jenis yang Dimigrasikan dari WPF ke System.Xaml.
Catatan Penggunaan WPF
Contoh kelas di Windows Presentation Foundation (WPF) yang menggunakan ContentPropertyAttribute adalah ContentControl, yang Button diwarisi kelas. Properti ContentControl.Content adalah properti konten yang ditetapkan oleh ContentPropertyAttribute. Button Jika dibuat di XAML, Content dari Button akan diatur ke elemen yang berada di antara tag tombol awal dan akhir.
Konstruktor
ContentPropertyAttribute() |
Menginisialisasi instans baru kelas ContentPropertyAttribute. |
ContentPropertyAttribute(String) |
Menginisialisasi instans ContentPropertyAttribute baru kelas, dengan menggunakan nama yang ditentukan. |
Properti
Name |
Mendapatkan nama properti yang merupakan properti konten. |
TypeId |
Ketika diimplementasikan di kelas turunan, mendapatkan pengidentifikasi unik untuk ini Attribute. (Diperoleh dari Attribute) |
Metode
Equals(Object) |
Mengembalikan nilai yang menunjukkan apakah instans ini sama dengan objek tertentu. (Diperoleh dari Attribute) |
GetHashCode() |
Mengembalikan kode hash untuk instans ini. (Diperoleh dari Attribute) |
GetType() |
Mendapatkan dari instans Type saat ini. (Diperoleh dari Object) |
IsDefaultAttribute() |
Ketika ditimpa di kelas turunan, menunjukkan apakah nilai instans ini adalah nilai default untuk kelas turunan. (Diperoleh dari Attribute) |
Match(Object) |
Saat ditimpa di kelas turunan, mengembalikan nilai yang menunjukkan apakah instans ini sama dengan objek tertentu. (Diperoleh dari Attribute) |
MemberwiseClone() |
Membuat salinan dangkal dari saat ini Object. (Diperoleh dari Object) |
ToString() |
Mengembalikan string yang mewakili objek saat ini. (Diperoleh dari Object) |
Implementasi Antarmuka Eksplisit
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Memetakan sekumpulan nama ke sekumpulan pengidentifikasi pengiriman yang sesuai. (Diperoleh dari Attribute) |
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Mengambil informasi jenis untuk objek, yang dapat digunakan untuk mendapatkan informasi jenis untuk antarmuka. (Diperoleh dari Attribute) |
_Attribute.GetTypeInfoCount(UInt32) |
Mengambil jumlah antarmuka informasi jenis yang disediakan objek (baik 0 atau 1). (Diperoleh dari Attribute) |
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Menyediakan akses ke properti dan metode yang diekspos oleh objek. (Diperoleh dari Attribute) |