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 в рамках того же вызова, может стать причиной непредусмотренного поведения при выполнении.