次の方法で共有


PopupMenu.ShowAsync(Point) メソッド

定義

指定したクライアント座標のコンテキスト メニューを表示します。

public:
 virtual IAsyncOperation<IUICommand ^> ^ ShowAsync(Point invocationPoint) = ShowAsync;
IAsyncOperation<IUICommand> ShowAsync(Point const& invocationPoint);
public IAsyncOperation<IUICommand> ShowAsync(Point invocationPoint);
function showAsync(invocationPoint)
Public Function ShowAsync (invocationPoint As Point) As IAsyncOperation(Of IUICommand)

パラメーター

invocationPoint
Point

oncontextmenu イベントが発生したときに、ユーザーの指またはマウス ポインターのウィンドウに対する相対座標 (DIP 単位)。 メニューは上に配置され、このポイントの中央に配置されます。

注意

VB、C#、C++ の場合、このウィンドウはコンテキスト メニューを呼び出しているスレッドに関連付けられた CoreWindow です。

戻り値

ShowAsync 呼び出しの完了後にユーザーによって呼び出されたコンテキスト メニュー コマンドを表す IUICommand オブジェクト。

コマンドが呼び出されない場合、ShowAsync は null を返します。

コンテキスト メニューを表示する前に、 oncontextmenu イベントのイベント リスナーを追加する必要があります。 たとえば、 コンテキスト メニューのサンプル では、特定の HTML 要素のイベントをリッスンし、 関数を scenario1AttachmentHandler 呼び出します。

document.getElementById("attachment").addEventListener("contextmenu", attachmentHandler, false);
menu.commands.append(new Windows.UI.Popups.UICommand("Save attachment", onSaveAttachment));

// We don't want to obscure content, so pass in the position representing the selection area.
// We registered command callbacks; no need to handle the menu completion event
menu.showAsync(pageToWinRT(e.pageX, e.pageY)).then(function (invokedCommand) {
    if (invokedCommand === null) {
        // The command is null if no command was invoked.
        WinJS.log && WinJS.log("Context menu dismissed", "sample", "status");
    }
});

さらに、コマンドが呼び出されたことをチェックし、アプリに応じてそのケースを処理します。 呼び出された UICommand にコールバック関数 (onSaveAttachment の例) がある場合、コールバック関数が実行されます。 それ以外の場合は、 UICommand.Id を使用して、呼び出されたコマンドを識別して処理する必要があります。

注釈

コンテキスト メニューのサンプルでは、コンテキスト メニューを作成およびカスタマイズする方法を示す完全なコード例を確認できます。

適用対象

こちらもご覧ください