FrameworkElementAutomationPeer.FromElement(UIElement) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
指定した 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。
戻り値
FrameworkElementAutomationPeer。FrameworkElementAutomationPeer を作成できなかった場合は 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 ロジックが内部的に呼び出されます。