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