ControlTemplate.TargetType 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 jenis yang diterapkan ControlTemplate .
public:
property TypeName TargetType { TypeName get(); void set(TypeName value); };
TypeName TargetType();
void TargetType(TypeName value);
public System.Type TargetType { get; set; }
var typeName = controlTemplate.targetType;
controlTemplate.targetType = typeName;
Public Property TargetType As Type
<ControlTemplate TargetType="typeName"/>
Nilai Properti
Jenis yang diterapkan ControlTemplate . Nilai ini biasanya diatur dalam XAML, bukan kode. Lihat Keterangan.
Keterangan
Cara umum untuk menentukan nilai TargetType adalah melalui atribut XAML pada ControlTemplate. Ketika diatur dalam XAML, arti TargetType dan nilai yang Anda berikan mengambil beberapa aspek tentang bagaimana jenis diwakili dalam XAML. Secara khusus, awalan apa pun yang akan diperlukan untuk merujuk ke jenis tertentu sebagai elemen XAML juga harus disertakan sebagai nilai string nilai TargetType. Misalnya, jika templat dimaksudkan untuk menargetkan jenis kustom yang harus didahului oleh awalan "lokal" yang sudah dipetakan dalam cakupan markup tertentu, maka nilai TargetType harus menyertakan awalan yang sama. Perilaku ini diaktifkan oleh perilaku konversi bawaan di pengurai XAML Windows Runtime.
Dalam kebanyakan kasus, Anda akan mengatur TargetType untuk ControlTemplate di mana ControlTemplate berada dalam Setter untuk properti Templat . Ini pada gilirannya berada dalam Gaya implisit yang Anda tentukan untuk kontrol. Nilai ControlTemplate.TargetType dan nilai Style.TargetType dari Gaya yang berisi harus selalu menjadi referensi jenis yang sama, mengacu pada kontrol bernama implisit yang sama. Jika tidak, templat kontrol mungkin tidak berfungsi.
Untuk informasi selengkapnya tentang cara menulis templat kontrol, lihat Mulai Cepat: Templat kontrol.
Catatan
Jika sebelumnya Anda telah memprogram XAML untuk Windows Presentation Foundation (WPF), maka Anda mungkin telah menggunakan ekstensi markup x:Type untuk mengisi nilai XAML apa pun yang mengambil System.Type. Pengurai XAML Windows Runtime tidak mendukung x:Type. Sebagai gantinya, Anda harus merujuk ke jenis menurut nama tanpa menggunakan ekstensi markup apa pun, dan konversi jenis XAML-to-backing yang diperlukan sudah ditangani oleh perilaku konversi bawaan yang dijelaskan dalam paragraf sebelumnya.
Menggunakan TargetType dalam kode
Mengatur TargetType dalam kode jarang terjadi. Sistem gaya/templat XAML dimaksudkan untuk digunakan dengan memuat XAML sebagai sumber daya dan memiliki semua aspek templat kontrol siap sebelumnya. Seharusnya ada sangat sedikit skenario di mana Anda tidak akan tahu info tentang kontrol dan templat sampai runtime, di mana ada kebutuhan untuk mengatur TargetType pada ControlTemplate yang dibuat atau direferensikan dalam kode.
Mendapatkan TargetType dalam kode juga jarang terjadi, tetapi Anda mungkin melakukan ini untuk memeriksa kembali apakah ControlTemplate yang telah Anda muat dari XAML kompatibel dengan target kontrol tertentu yang Anda dapatkan dari pohon runtime.
Tip
Jika Anda memprogram menggunakan bahasa Microsoft .NET (C# atau Microsoft Visual Basic), jenis TypeName diproyeksikan sebagai System.Type. Saat pemrograman menggunakan C#, Anda biasanya menggunakan operator typeof untuk mendapatkan referensi ke System.Type jenis berdasarkan nama jenis sebagai string. Di Microsoft Visual Basic, gunakan GetType.