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());
}
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 по умолчанию. Определение пользовательского однорангового узла для пользовательского элемента управления зависит от требований к специальным возможностям, контракта пользовательского интерфейса и поведения элемента управления. Дополнительные сведения о том, почему может потребоваться определить новый одноранговый узел, см. в статье Пользовательские одноранговые узлы автоматизации.
Примечание
Этот пример не поддерживается и может не компилироваться.
См. пример специальных возможностей XAML для реализации OnCreateAutomationPeer, который определяет пользовательский одноранговый узел, возвращаемый OnCreateAutomationPeer (реализация однорангового узла является частью сценария 3 в этом примере).
Рекомендуется, чтобы реализация OnCreateAutomationPeer не делала ничего, кроме как инициализировать новый экземпляр пользовательского однорангового узла автоматизации, передавая вызывающий элемент управления в качестве владельца и возвращая этот экземпляр. Не пытайтесь вводить в этот метод дополнительную логику. В частности, любая логика, которая потенциально способна привести к уничтожению AutomationPeer в рамках того же вызова, может стать причиной непредусмотренного поведения при выполнении.