FrameworkElement.GetVisualChild(Int32) Metode

Definisi

Mengambil alih GetVisualChild(Int32), dan mengembalikan anak pada indeks yang ditentukan dari kumpulan elemen anak.

protected:
 override System::Windows::Media::Visual ^ GetVisualChild(int index);
protected override System.Windows.Media.Visual GetVisualChild(int index);
override this.GetVisualChild : int -> System.Windows.Media.Visual
Protected Overrides Function GetVisualChild (index As Integer) As Visual

Parameter

index
Int32

Indeks berbasis nol dari elemen turunan yang diminta dalam koleksi.

Mengembalikan

Elemen turunan yang diminta. Ini tidak boleh mengembalikan null; jika indeks yang disediakan berada di luar rentang, pengecualian akan dilemparkan.

Contoh

Contoh berikut menunjukkan bagaimana pelihara kustom menggunakan nilai yang dideklarasikan oleh VisualCollection yang dipertahankannya untuk beberapa anak visualnya. Nilai-nilai ini dilaporkan melalui penimpaan VisualChildrenCount dan GetVisualChild.

// To store and manage the adorner's visual children.
VisualCollection visualChildren;
' To store and manage the adorner's visual children.
Private visualChildren As VisualCollection
// Override the VisualChildrenCount and GetVisualChild properties to interface with 
// the adorner's visual collection.
protected override int VisualChildrenCount { get { return visualChildren.Count; } }
protected override Visual GetVisualChild(int index) { return visualChildren[index]; }
' Override the VisualChildrenCount and GetVisualChild properties to interface with 
' the adorner's visual collection.
Protected Overrides ReadOnly Property VisualChildrenCount() As Integer
    Get
        Return visualChildren.Count
    End Get
End Property
Protected Overrides Function GetVisualChild(ByVal index As Integer) As Visual
    Return visualChildren(index)
End Function

Keterangan

FrameworkElement Dalam implementasi, satu-satunya indeks yang valid adalah nol. Model konten untuk GetVisualChild mendukung elemen nol atau satu anak, bukan koleksi.

Catatan Bagi Inheritor

Implementasi ini hanya berlaku untuk elemen yang tidak mempertahankan koleksi elemen anak visual yang deskriptif lagi. Elemen apa pun yang memang memiliki koleksi seperti itu harus mengambil alih metode ini dan memetakan indeks ke indeks yang setara dalam koleksi elemen turunan yang didukung oleh elemen tersebut. Indeks dalam rentang dari nol hingga VisualChildrenCount (minus satu) harus mengembalikan elemen yang valid; indeks lain harus melemparkan pengecualian di luar rentang. Contoh jenis elemen yang mendukung koleksi anak dan mengambil alih GetVisualChild(Int32) untuk mengembalikan lebih dari satu anak yang mungkin adalah Panel.

Implementasi default dalam FrameworkElement anggapan hanya satu anak visual. Nilai apa pun yang diteruskan untuk index selain nol menyebabkan pengecualian dilemparkan. Beberapa elemen umum, seperti dekorator, adorner, atau elemen dengan rendering khusus, mengambil alih FrameworkElement implementasi (implementasi dari kelas dasar menengah). Beberapa implementasi masih memberlakukan satu anak visual sedangkan yang lain mengizinkan koleksi.

Berlaku untuk