Bagikan melalui


FrameworkElementAutomationPeer.CreatePeerForElement(UIElement) Metode

Definisi

Membuat FrameworkElementAutomationPeer untuk UIElement yang ditentukan.

public:
 static AutomationPeer ^ CreatePeerForElement(UIElement ^ element);
 static AutomationPeer CreatePeerForElement(UIElement const& element);
public static AutomationPeer CreatePeerForElement(UIElement element);
function createPeerForElement(element)
Public Shared Function CreatePeerForElement (element As UIElement) As AutomationPeer

Parameter

element
UIElement

UIElement yang terkait dengan FrameworkElementAutomationPeer ini.

Mengembalikan

FrameworkElementAutomationPeer.

Contoh

CreatePeerForElement berguna jika Anda menulis serekan yang meneruskan informasi serekan dari salah satu bagian komponennya, karena ini adalah bagian komponen yang mungkin menerapkan pola seperti yang diminta dalam implementasi GetPatternCore serekan . Misalnya, jika salah satu bagian komponen utama kontrol adalah ScrollViewer , kontrol itu sendiri mungkin memiliki beberapa fungsi lain dan tidak menggulir secara langsung. Tetapi serekan mungkin masih ingin melaporkan dukungan untuk pola Gulir , dan menyediakan peer sehingga klien dapat berinteraksi dengan pola otomatisasi bagian pengguliran.

protected override object GetPatternCore(PatternInterface patternInterface)
{
    if (patternInterface == PatternInterface.Scroll)
    {
        ItemsControl owner = (ItemsControl) base.Owner;
        UIElement itemsHost = owner.ItemsHost;
        ScrollViewer element = null;
        while (itemsHost != owner)
        {
            itemsHost = VisualTreeHelper.GetParent(itemsHost) as UIElement;
            element = itemsHost as ScrollViewer;
            if (element != null)
            {
                break;
            }
        }
        if (element != null)
        {
            AutomationPeer peer = FrameworkElementAutomationPeer.CreatePeerForElement(element);
            if ((peer != null) && (peer is IScrollProvider))
            {
                return (IScrollProvider) peer;
            }
        }
    }
    return base.GetPatternCore(patternInterface);
}

Keterangan

CreatePeerForElement adalah kelas pembantu yang digunakan oleh kode kontrol kustom untuk mengembalikan instans serekan bertindak. Dengan menggunakan peer yang dikembalikan, Anda dapat menembakkan peristiwa otomatisasi dari dalam rutinitas yang sama yang juga mengaktifkan peristiwa logika kontrol umum Anda atau mengubah properti kontrol. Atau Anda dapat menulis metode pembantu Anda sendiri yang melakukan ini dan dipanggil dari logika kontrol Anda.

FrameworkElementAutomationPeer yang dibuat tetap dalam memori sampai UIElement terkait dihancurkan. Instans yang sama dari FrameworkElementAutomationPeer dikembalikan dari panggilan berikutnya ke CreatePeerForElement dan panggilan ke FromElement yang mereferensikan instans elemen yang sama.

Jenis peer yang dikembalikan ditentukan oleh implementasi OnCreateAutomationPeer dari UIElement yang relevan, yang biasanya merupakan Kontrol. Jika kode kelas untuk jenis elemen tidak mengimplementasikan OnCreateAutomationPeer, tidak ada peer yang dibuat, dan CreatePeerForElement mengembalikan null. Sebagai praktik terbaik, Anda harus selalu memeriksa null setelah memanggil CreatePeerForElement, karena ada sejumlah elemen Windows Runtime yang tidak akan memiliki implementasi OnCreateAutomationPeer . Misalnya, ContentControl tidak memiliki rekan secara default kecuali disesuaikan atau merupakan kontrol Windows Runtime yang lebih turunan.

CreatePeerForElement pada dasarnya memiliki perilaku yang sama dengan FromElement.

CreatePeerForElement dapat mengembalikan peer meskipun logika sistem CreateAutomationPeer belum berjalan pada target elemen karena beberapa alasan. Ini akan memanggil logika CreateAutomationPeer yang sama secara internal untuk mendapatkan peer.

Berlaku untuk

Lihat juga