FrameworkElement.Parent 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 elemen induk logis dari elemen ini.
public:
property System::Windows::DependencyObject ^ Parent { System::Windows::DependencyObject ^ get(); };
public System.Windows.DependencyObject Parent { get; }
member this.Parent : System.Windows.DependencyObject
Public ReadOnly Property Parent As DependencyObject
Nilai Properti
Induk logis elemen ini.
Contoh
Contoh berikut menunjukkan kode yang memeriksa induk elemen, lalu menggunakan nilai properti dari induk untuk mengatur properti pada elemen turunan agar cocok. Dalam hal ini adalah properti yang memengaruhi ukuran penyajian.
private void OnUIReady(object sender, System.EventArgs e)
{
LinePane.Width = ((StackPanel)LinePane.Parent).ActualWidth;
LinePane.Height = ((StackPanel)LinePane.Parent).ActualHeight;
DesignerPane.MouseLeave += new System.Windows.Input.MouseEventHandler(DesignerPane_MouseLeave);
this.SizeChanged += new SizeChangedEventHandler(Window1_SizeChanged);
}
Private Sub OnUIReady(ByVal sender As Object, ByVal e As System.EventArgs)
LinePane.Width = (CType(LinePane.Parent, StackPanel)).ActualWidth
LinePane.Height = (CType(LinePane.Parent, StackPanel)).ActualHeight
AddHandler DesignerPane.MouseLeave, AddressOf DesignerPane_MouseLeave
AddHandler SizeChanged, AddressOf Window1_SizeChanged
End Sub
Keterangan
Parent mungkin null dalam kasus di mana elemen dibuat, tetapi tidak dilampirkan ke pohon logis apa pun yang akhirnya terhubung ke elemen akar tingkat halaman, atau objek aplikasi.
Perhatikan bahwa induk logis elemen dapat berpotensi berubah tergantung pada fungsionalitas aplikasi Anda, dan menjaga nilai properti ini tidak akan mencerminkan perubahan tersebut. Anda biasanya harus mendapatkan nilainya segera sebelum membutuhkannya.
Lihat Pohon di WPF untuk informasi selengkapnya tentang traversal pohon logis, dan skenario di mana menggunakan Parent sebagai teknik penemuan elemen induk sesuai.
Mesin properti akan berpotensi menghitung ulang semua nilai properti elemen ketika direparent, karena beberapa properti mewarisi nilai melalui pohon logis. DataContext yang berlaku untuk pengikatan juga dapat berubah ketika elemen direparented.
Mengubah induk elemen biasanya hanya dilakukan melalui manipulasi koleksi, dengan menggunakan metode tambahkan atau hapus khusus, atau melalui pengaturan properti konten elemen.
Skenario paling umum untuk menggunakan Parent properti adalah mendapatkan referensi dan kemudian mendapatkan berbagai FrameworkElement nilai properti dari induk. Untuk templat, Parent templat pada akhirnya akan menjadi null. Untuk melewati titik ini dan memperluas ke pohon logis tempat templat benar-benar diterapkan, gunakan TemplatedParent.
Perhatikan bahwa properti ini tidak melaporkan induk pohon visual jika bervariasi dari induk pohon logis. Induk pohon visual biasanya tidak penting untuk kasus aplikasi umum tetapi mungkin merupakan elemen induk yang diinginkan untuk kasus tingkat visual tertentu. Lihat VisualTreeHelper.