Поделиться через


UIElement.OnCreateAutomationPeer Метод

Определение

При реализации в производном классе возвращает реализации 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());
    }

Комментарии

Дополнительные сведения о назначении однорангового узла автоматизации и о том, почему может потребоваться определить класс AutomationPeer , см. в разделе Пользовательские одноранговые узлы автоматизации.

Этот метод следует переопределить в пользовательском классе, где требуется предоставить пользовательский одноранговый узел автоматизации для автоматизации пользовательского интерфейса Майкрософт, а не одноранговый узел по умолчанию, на который ссылается реализация по умолчанию OnCreateAutomationPeer . Определение пользовательского однорангового узла для пользовательского элемента управления зависит от требований к специальным возможностям, контракта пользовательского интерфейса и поведения элемента управления. Дополнительные сведения о том, почему может потребоваться определить новый одноранговый узел, см. в статье Пользовательские одноранговые узлы автоматизации.

Примечание

Этот пример не поддерживается и может не компилироваться.

См . пример специальных возможностей XAML для реализации OnCreateAutomationPeer , который определяет пользовательский одноранговый узел, возвращаемый OnCreateAutomationPeer (реализация однорангового узла является частью сценария 3 в этом примере).

Рекомендуется, чтобы OnCreateAutomationPeer реализация не делала ничего, кроме как инициализировать новый экземпляр пользовательского однорангового узла автоматизации, передавая вызывающий элемент управления в качестве владельца и возвращая этот экземпляр. Не пытайтесь вводить в этот метод дополнительную логику. В частности, любая логика, которая потенциально способна привести к уничтожению AutomationPeer в рамках того же вызова, может стать причиной непредусмотренного поведения при выполнении.

Применяется к

См. также раздел