Ekstensi Markup TemplateBinding
Menautkan nilai properti dalam templat kontrol untuk menjadi nilai properti lain pada kontrol templat.
Penggunaan Atribut XAML
<object property="{TemplateBinding sourceProperty}" ... />
Penggunaan Atribut XAML (untuk properti Setter dalam templat atau gaya)
<Setter Property="propertyName" Value="{TemplateBinding sourceProperty}" ... />
Nilai XAML
Nilai | Deskripsi |
---|---|
propertyName |
DependencyProperty.Name properti yang diatur dalam sintaks setter. |
sourceProperty |
Properti dependensi lain yang ada pada jenis yang di-template, ditentukan oleh DependencyProperty.Name. - atau - Nama properti "putus-putus" yang didefinisikan oleh jenis yang berbeda dari jenis target yang di-template. Ini sebenarnya adalah PropertyPath. Lihat Sintaks PropertyPath XAML. |
Keterangan
TemplateBinding
adalah bentuk yang dioptimalkan dari Binding
skenario templat, dianalogikan dengan yang Binding
dibangun dengan {Binding RelativeSource={RelativeSource TemplatedParent}, Mode=OneWay}
. TemplateBinding
A selalu merupakan pengikatan satu arah, bahkan jika properti terlibat default ke pengikatan dua arah. Kedua properti yang terlibat harus berupa properti dependensi. Untuk mencapai pengikatan dua arah ke induk yang di-template menggunakan pernyataan pengikatan berikut sebagai gantinya {Binding RelativeSource={RelativeSource TemplatedParent}, Mode=TwoWay, Path=MyDependencyProperty}
.
RelativeSource adalah ekstensi markup lain yang kadang-kadang digunakan bersama dengan atau alih-alih TemplateBinding
untuk melakukan pengikatan properti relatif dalam templat.
Menjelaskan templat kontrol sebagai konsep tidak tercakup di sini; untuk informasi selengkapnya, lihat Gaya Kontrol dan Templat.
Sintaks atribut adalah sintaks yang paling umum digunakan dengan ekstensi markup ini. Token string yang disediakan setelah TemplateBinding
string pengidentifikasi ditetapkan sebagai Property nilai kelas ekstensi yang mendasar TemplateBindingExtension .
Sintaks elemen objek dimungkinkan, tetapi tidak ditampilkan karena tidak memiliki aplikasi yang realistis. TemplateBinding
digunakan untuk mengisi nilai dalam setter, menggunakan ekspresi yang dievaluasi, dan menggunakan sintaks elemen objek untuk TemplateBinding
mengisi <Setter.Property>
sintaks elemen properti tidak perlu verbose.
TemplateBinding
juga dapat digunakan dalam penggunaan atribut verbose yang menentukan Property properti sebagai pasangan properti=nilai:
<object property="{TemplateBinding Property=sourceProperty}" ... />
Penggunaan verbose sering berguna untuk ekstensi yang memiliki lebih dari satu properti yang dapat diatur, atau jika beberapa properti bersifat opsional. Karena TemplateBinding
hanya memiliki satu properti yang dapat diatur, yang diperlukan, penggunaan verbose ini tidak khas.
Dalam implementasi prosesor WPF XAML, penanganan untuk ekstensi markup ini ditentukan oleh TemplateBindingExtension kelas .
TemplateBinding
adalah ekstensi markup. Ekstensi markup biasanya diimplementasikan ketika ada persyaratan untuk meloloskan nilai atribut menjadi selain nilai harfiah atau nama handler, dan persyaratannya lebih global daripada hanya menempatkan pengonversi jenis pada jenis atau properti tertentu. Semua ekstensi markup di XAML menggunakan {
karakter dan }
dalam sintaks atributnya, yang merupakan konvensi di mana prosesor XAML mengenali bahwa ekstensi markup harus memproses atribut. Untuk informasi selengkapnya, lihat Ekstensi Markup dan WPF XAML.
Lihat juga
.NET Desktop feedback