


Mengapa Pengikatan XAML Saya Tidak Berfungsi pada Harta Ketergantungan, Tetapi Berfungsi dalam Code-Behind?
Jan 09, 2025 pm 09:11 PMPengikatan XAML gagal pada sifat pergantungan
Pengikatan data untuk sifat pergantungan tidak mempunyai kesan dalam XAML, tetapi berfungsi dengan baik dalam kod belakang. Coretan kod berikut menunjukkan masalah:
<UserControl ...="" x:Class="WpfTest.MyControl"> <TextBlock Text="{Binding Test}"/> </UserControl>
Sifat kebergantungan ditakrifkan seperti berikut:
public static readonly DependencyProperty TestProperty = DependencyProperty.Register("Test", typeof(string), typeof(MyControl), new PropertyMetadata("DEFAULT")); public string Test { get { return (string)GetValue(TestProperty); } set { SetValue(TestProperty, value); } }
Dalam tetingkap utama, mengikat kepada sifat biasa berfungsi dengan sempurna:
<TextBlock Text="{Binding MyText}"/>
Walau bagaimanapun, pengikatan yang sama dalam kawalan pengguna tidak mengemas kini teks:
<MyControl Test="{Binding MyText}" x:Name="TheControl"/>
Perlu diperhatikan bahawa pengikatan berfungsi dengan baik apabila dilaksanakan dalam kod belakang:
TheControl.SetBinding(MyControl.TestProperty, new Binding { Source = DataContext, Path = new PropertyPath("MyText"), Mode = BindingMode.TwoWay });
Penyelesaian:
Perisytiharan sifat pergantungan yang betul:
public static readonly DependencyProperty TestProperty = DependencyProperty.Register( nameof(Test), typeof(string), typeof(MyControl), new PropertyMetadata("DEFAULT"));
Mengikat dalam UserControl XAML:
<UserControl ...="" x:Class="WpfTest.MyControl"> <TextBlock Text="{Binding Test, RelativeSource={RelativeSource AncestorType=UserControl}}"/> </UserControl>
Elakkan daripada menetapkan DataContext dalam pembina UserControl:
Jangan sekali-kali tetapkan DataContext dalam pembina UserControl. Ini menghalang UserControl daripada mewarisi DataContext induknya.
Atas ialah kandungan terperinci Mengapa Pengikatan XAML Saya Tidak Berfungsi pada Harta Ketergantungan, Tetapi Berfungsi dalam Code-Behind?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Artikel Panas

Alat panas Tag

Artikel Panas

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Langkah Format Fungsi Fungsi C Langkah Penukaran Kes

Gulc: Perpustakaan C dibina dari awal

Apakah jenis nilai yang dikembalikan oleh fungsi bahasa C? Apa yang menentukan nilai pulangan?

Bagaimana Perpustakaan Templat St Standard (STL) berfungsi?

Apakah definisi dan peraturan panggilan fungsi bahasa C dan apakah itu

Di manakah nilai pulangan fungsi bahasa C yang disimpan dalam ingatan?

Penggunaan dan perkongsian frasa yang berbeza

Bagaimanakah saya menggunakan algoritma dari STL (jenis, mencari, mengubah, dll) dengan cekap?
