UIElement.OnCreateAutomationPeer メソッド

定義

派生クラスで実装されると、Microsoft UI オートメーション インフラストラクチャのクラス固有の AutomationPeer 実装が返されます。

protected:
 virtual AutomationPeer ^ OnCreateAutomationPeer() = OnCreateAutomationPeer;
AutomationPeer OnCreateAutomationPeer();
protected virtual AutomationPeer OnCreateAutomationPeer();
function onCreateAutomationPeer()
Protected Overridable Function OnCreateAutomationPeer () As AutomationPeer

戻り値

返すクラス固有の AutomationPeer サブクラス。

OnCreateAutomationPeer 実装全体は、カスタム オートメーション ピア クラスを構築して返す必要があります。

protected override AutomationPeer OnCreateAutomationPeer() 
{
    return new MediaContainerAP(this, mediaElement); 
}
#include "MediaContainerAP.h"
...
public:
    MyNamespace::MediaContainerAP OnCreateAutomationPeer()
    {
        return winrt::make<MyNamespace::implementation::MediaContainerAP>(*this, mediaElement());
    }
protected:
    virtual AutomationPeer^ OnCreateAutomationPeer() override
    {
        return ref new MediaContainerAP(this, mediaElement);
    }
};
Protected Overrides Function OnCreateAutomationPeer() As AutomationPeer
    Return New MediaContainerAP(Me, mediaElement)
End Function

注釈

オートメーション ピアの目的と、クラス固有の AutomationPeer クラスを定義する必要がある理由の詳細については、「 カスタム オートメーション ピア」を参照してください。

このメソッドは、既定の OnCreateAutomationPeer 実装によって参照される既定のピアではなく、Microsoft UI オートメーション用のカスタム オートメーション ピアを提供するカスタム クラスでオーバーライドする必要があります。 カスタム コントロールのカスタム ピアを定義する方法は、コントロールのアクセシビリティ要件、UI コントラクト、およびその動作によって異なります。 新しいピアを定義する理由の詳細については、「 カスタム オートメーション ピア」を参照してください。

注意

このサンプルは維持されておらず、コンパイルされない可能性があります。

OnCreateAutomationPeer によって返されるカスタム ピアを定義する OnCreateAutomationPeer の実装については、「 XAML アクセシビリティ サンプル」を参照してください (ピア実装は、このサンプルのシナリオ 3 の一部です)。

OnCreateAutomationPeer の実装では、カスタム オートメーション ピアの新しいインスタンスを初期化し、呼び出し元のコントロールを所有者として渡し、そのインスタンスを返す以外に何もしないことをお勧めします。 このメソッドで追加のロジックを実行しないでください。 特に、AutomationPeer のデストラクションにつながる可能性のあるロジックが同じ呼び出し内にあると、ランタイムで予期しない動作が発生する場合があります。

適用対象

こちらもご覧ください