FrameworkElementAutomationPeer.CreatePeerForElement(UIElement) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
指定した UIElement の FrameworkElementAutomationPeer を作成します。
public:
static AutomationPeer ^ CreatePeerForElement(UIElement ^ element);
static AutomationPeer CreatePeerForElement(UIElement const& element);
public static AutomationPeer CreatePeerForElement(UIElement element);
function createPeerForElement(element)
Public Shared Function CreatePeerForElement (element As UIElement) As AutomationPeer
パラメーター
- element
- UIElement
この FrameworkElementAutomationPeer に関連付けられている UIElement。
戻り値
FrameworkElementAutomationPeer。
例
CreatePeerForElement は、ピアの GetPatternCore 実装で要求されたパターンを実装する可能性があるコンポーネント パーツであるため、いずれかのコンポーネント パーツからピア情報を転送するピアを作成する場合に便利です。 たとえば、コントロールのメインコンポーネントパーツの 1 つが ScrollViewer である場合、コントロール自体には他の関数があり、直接スクロールしない場合があります。 ただし、ピアは引き続きスクロール パターンのサポートを報告し、クライアントが スクロール パーツのオートメーション パターンと対話できるようにピアを提供したい場合があります。
protected override object GetPatternCore(PatternInterface patternInterface)
{
if (patternInterface == PatternInterface.Scroll)
{
ItemsControl owner = (ItemsControl) base.Owner;
UIElement itemsHost = owner.ItemsHost;
ScrollViewer element = null;
while (itemsHost != owner)
{
itemsHost = VisualTreeHelper.GetParent(itemsHost) as UIElement;
element = itemsHost as ScrollViewer;
if (element != null)
{
break;
}
}
if (element != null)
{
AutomationPeer peer = FrameworkElementAutomationPeer.CreatePeerForElement(element);
if ((peer != null) && (peer is IScrollProvider))
{
return (IScrollProvider) peer;
}
}
}
return base.GetPatternCore(patternInterface);
}
注釈
CreatePeerForElement は、動作するピア インスタンスを返すためにカスタム コントロール コードによって使用されるヘルパー クラスです。 返されたピアを使用すると、一般的なコントロール ロジック イベントを発生させたり、コントロール プロパティを変更したりするのと同じルーチン内からオートメーション イベントを発生させることができます。 または、これを行い、制御ロジックから呼び出される独自のヘルパー メソッドを記述することもできます。
作成された FrameworkElementAutomationPeer は 、関連付けられた UIElement が破棄されるまでメモリ内に残ります。 FrameworkElementAutomationPeer の同じインスタンスは、CreatePeerForElement の後続の呼び出しと、同じ要素インスタンスを参照する FromElement の呼び出しから返されます。
返されるピアの型は、関連する UIElement の OnCreateAutomationPeer 実装 (通常は Control) によって決まります。 要素型のクラス コードが OnCreateAutomationPeer を実装していない場合、ピアは作成されません。CreatePeerForElement は null を返します。 ベスト プラクティスとして、CreatePeerForElement を呼び出した後は常に null をチェックする必要があります。これは、OnCreateAutomationPeer 実装を持たないWindows ランタイム要素が多数存在するためです。 たとえば、ContentControl には、カスタマイズされているか、より派生したWindows ランタイム コントロールでない限り、既定ではピアがありません。
CreatePeerForElement の動作は基本的に FromElement と同じです。
CreatePeerForElement は、何らかの理由で CreateAutomationPeer システム ロジックがまだ 要素 ターゲットで実行されていない場合でも、ピアを返すことができます。 ピアを取得するために、同じ CreateAutomationPeer ロジックが内部的に呼び出されます。
適用対象
こちらもご覧ください
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示