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


FrameworkElementAutomationPeer.FromElement(UIElement) Метод

Определение

Возвращает FrameworkElementAutomationPeer для указанного UIElement.

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

Параметры

element
UIElement

UIElement, связанный с этим FrameworkElementAutomationPeer.

Возвращаемое значение

Значение FrameworkElementAutomationPeer или null, если не удалось создать FrameworkElementAutomationPeer .

Примеры

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

if (AutomationPeer.ListenerExists(AutomationEvents.PropertyChanged))
{
    MyAutomationPeer peer = 
        FrameworkElementAutomationPeer.FromElement(myCtrl) as MyAutomationPeer;

    if (peer != null)
    {
        peer.RaisePropertyChangedEvent(
            RangeValuePatternIdentifiers.ValueProperty,
            (double)oldValue,
            (double)newValue);
    }
}
If AutomationPeer.ListenerExists(AutomationEvents.PropertyChanged) Then
    Dim peer As MyDownAutomationPeer = _
    TryCast(FrameworkElementAutomationPeer.FromElement(myCtrl), MyAutomationPeer)
    If peer IsNot Nothing Then
        peer.RaisePropertyChangedEvent(RangeValuePatternIdentifiers.ValueProperty, CDbl(oldValue), CDbl(newValue))
    End If
End If

Комментарии

FromElement — это вспомогательный класс, который используется пользовательским кодом элемента управления для возврата действующего однорангового экземпляра. С помощью возвращаемого однорангового узла можно запускать события автоматизации в рамках одних и теми же подпрограммами, которые также запускают общие события логики элемента управления или изменяют свойства элемента управления. Или вы можете написать собственные вспомогательные методы, которые выполняют это и вызываются из логики элемента управления.

Поведение CreatePeerForElement в основном совпадает с поведением FromElement.

Если FromElement возвращает значение NULL, вероятно, это связано с тем, что переданный вами элемент не имеет реализации для OnCreateAutomationPeer.

FromElement может вернуть одноранговый узел, даже если по какой-либо причине системная логика CreateAutomationPeer еще не запущена в целевом элементе . Он вызовет ту же логику CreateAutomationPeer внутри, чтобы получить одноранговый узел.

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

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