Setter.Property 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.
public:
property DependencyProperty ^ Property { DependencyProperty ^ get(); void set(DependencyProperty ^ value); };
DependencyProperty Property();
void Property(DependencyProperty value);
public DependencyProperty Property { get; set; }
var dependencyProperty = setter.property;
setter.property = dependencyProperty;
Public Property Property As DependencyProperty
<Setter Property="propertyName"/>
Nilai Properti
DependencyProperty tempat Nilai akan diterapkan. Defaultnya adalah null.
Contoh
Contoh ini memperlihatkan cara menggunakan pernyataan Setter dalam gaya untuk elemen TextBlock .
<StackPanel>
<StackPanel.Resources>
<!-- Create a Style for a TextBlock to specify that the
Foreground equals Navy, FontSize equals 14, and
VerticalAlignment equals Bottom. -->
<Style TargetType="TextBlock" x:Key="TextBlockStyle">
<Setter Property="Foreground" Value="Navy"/>
<Setter Property="FontSize" Value="14"/>
<Setter Property="VerticalAlignment" Value="Bottom"/>
</Style>
</StackPanel.Resources>
<!-- Apply the TextBlockStyle to 2 different TextBlocks. -->
<TextBlock Style="{StaticResource TextBlockStyle}" Text="Hello"/>
<TextBlock Style="{StaticResource TextBlockStyle}" Text="World"/>
</StackPanel>
Anda juga dapat menerapkan setter ke nilai properti terlampir, dengan menentukan nama properti terlampir di AttachedPropertyProvider. Formulir PropertyName . Misalnya, untuk menggunakan Setter untuk properti terlampir Canvas.Left, gunakan XAML Ini.
<Setter Property="Canvas.Left" Value="100"/>
Keterangan
Anda harus menentukan properti Properti dan Nilai pada Setter. Jika tidak, pengecualian dilemparkan (baik pengecualian penguraian atau kesalahan runtime, tergantung pada apakah Setter dibuat di XAML atau dimodifikasi dalam kode).
Jika Anda mengakses instans Setter menggunakan kode, Anda tidak dapat mengubah nilai properti apa pun dari instans Setter jika nilai properti IsSealed pada Gaya induk benar. Ini juga dilaporkan oleh properti IsSealed pada Setter individu. Sistem mengatur properti ini ke true ketika runtime menerapkan gaya ke elemen UI dan menampilkannya di UI. Mencoba mengubah Setter yang disegel memunculkan kesalahan runtime.
Anda bisa menggunakan Setter untuk menata properti terlampir. Dalam hal ini, nama properti dependensi adalah nama yang memenuhi syarat di XAML yang juga menamai jenis penentuan properti terlampir. Misalnya, <Setter Property="AutomationProperties.LiveSetting" Value="Polite" />
dapat digunakan untuk mengatur nilai properti terlampir AutomationProperties.LiveSetting dalam gaya untuk kontrol atau elemen UI apa pun.
Catatan
Parser XAML juga menerima nama properti dependensi yang menyertakan kelas yang memenuhi syarat. Misalnya pengurai menafsirkan "Button.Background" atau "Control.Background" sebagai referensi ke properti Latar Belakang dalam gaya untuk Tombol. Memenuhi syarat berdasarkan kelas tidak diperlukan dan menghasilkan markup yang berpotensi membingungkan. Anda mungkin mengalami atau menggunakan penggunaan nama properti yang memenuhi syarat jika Anda memigrasikan XAML dari platform lain.
Mengidentifikasi properti dependensi
Seperti yang disebutkan, Anda hanya dapat menggunakan Setter untuk menyesuaikan properti melalui gaya jika properti yang dimaksud adalah properti dependensi. Properti UI di mana ada skenario untuk menerapkan gaya hampir selalu diimplementasikan sebagai properti dependensi oleh Windows Runtime, dan properti yang dapat diatur yang bukan properti dependensi pada elemen UI cukup jarang. Jika Anda ingin memverifikasi bahwa properti Windows Runtime adalah properti dependensi, periksa daftar anggota untuk jenis yang awalnya menentukan properti . Jika properti sebenarnya adalah properti dependensi, pengidentifikasi properti dependensi juga akan ada di kelas tersebut, dan pengidentifikasi tersebut memiliki nama yang sama dengan properti itu sendiri tetapi dengan akhiran Properti ditambahkan. Pengidentifikasi properti dependensi ini adalah properti baca-saja statis yang berguna dalam beberapa skenario properti dependensi melalui kode. Misalnya, Anda dapat menggunakan nilai pengidentifikasi seperti itu dalam kode untuk menyesuaikan nilai Setter.Property yang ada selama gaya induk belum disegel.
Menggunakan Setter untuk properti kustom
Untuk properti kustom Anda sendiri, Anda harus mendeklarasikan properti sebagai properti dependensi jika Anda ingin mendukung gaya, serta untuk skenario lain seperti pengikatan data atau animasi. Jika Anda melakukannya, properti kustom Anda juga didukung untuk gaya pada Gaya apa pun dengan TargetType yang mereferensikan jenis kustom Anda. Untuk informasi selengkapnya, lihat Properti dependensi kustom atau TargetType.