次の方法で共有


FrameworkElementAutomationPeer.FromElement(UIElement) メソッド

定義

指定した UIElement の FrameworkElementAutomationPeer を返します。

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

この FrameworkElementAutomationPeer に関連付けられている UIElement

戻り値

FrameworkElementAutomationPeerFrameworkElementAutomationPeer を作成できなかった場合は null。

オートメーション サポート設計では、 OnCreateAutomationPeer を実装する方法の一部として、独自のピアへのハンドルは保持されません。これは、ピアが実際に作成されるタイミングの保証がないためです。 代わりに、次のようなコードを使用して、コントロール クラス定義内の実行時オートメーション イベント リスナーを just-In-Time にチェックできます。

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 ロジックが内部的に呼び出されます。

適用対象

こちらもご覧ください