FrameworkElementAutomationPeer.FromElement(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

参数

返回

FrameworkElementAutomationPeer;如果无法创建 FrameworkElementAutomationPeer,则为 null。

示例

在实现 OnCreateAutomationPeer 时,自动化支持设计不会保留你自己的对等节点的句柄,因为无法保证何时实际创建对等。 相反,可以使用如下所示的代码,在控件类定义中实时为运行时自动化事件侦听器检查:

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 的实现。

即使由于某种原因 CreateAutomationPeer 系统逻辑尚未在 元素 目标上运行,FromElement 也可以返回对等方。 它将在内部调用相同的 CreateAutomationPeer 逻辑以获取对等方。

适用于

另请参阅