PopupMenu.ShowAsync(Point) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Zeigt das Kontextmenü an den angegebenen Clientkoordinaten an.
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)
Parameter
- invocationPoint
- Point
Die Koordinaten (in DIPs) relativ zum Fenster des Finger- oder Mauszeigers des Benutzers, wenn das oncontextmenu-Ereignis ausgelöst wurde. Das Menü wird oben platziert und an diesem Punkt zentriert.
Hinweis
Für VB, C# und C++ ist dieses Fenster das CoreWindow,das dem Thread zugeordnet ist, der das Kontextmenü aufruft.
Gibt zurück
Ein IUICommand-Objekt , das den Kontextmenübefehl darstellt, der nach Abschluss des ShowAsync-Aufrufs vom Benutzer aufgerufen wurde.
Wenn kein Befehl aufgerufen wird, gibt ShowAsync NULL zurück.
Beispiele
Bevor Sie ein Kontextmenü anzeigen können, müssen Sie einen Ereignislistener für das oncontextmenu-Ereignis hinzufügen. Das Kontextmenübeispiel lauscht beispielsweise auf das Ereignis für bestimmte HTML-Elemente und ruft dann die scenario1AttachmentHandler
Funktion auf.
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");
}
});
Stellen Sie außerdem sicher, dass Sie überprüfen, ob ein Befehl aufgerufen wurde, und verarbeiten Sie diesen Fall entsprechend Ihrer App. Wenn der aufgerufene UICommand über eine Rückruffunktion verfügt (onSaveAttachment
im Beispiel), wird die Rückruffunktion ausgeführt. Andernfalls müssen Sie möglicherweise UICommand.Id verwenden, um den aufgerufenen Befehl zu identifizieren und zu verarbeiten.
Hinweise
Im Kontextmenübeispiel sehen Sie vollständige Codebeispiele, die das Erstellen und Anpassen von Kontextmenüs veranschaulichen.