PopupMenu.ShowAsync(Point) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Muestra el menú contextual en las coordenadas de cliente especificadas.
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)
Parámetros
- invocationPoint
- Point
Coordenadas (en DIP), relativas a la ventana, del dedo o puntero del mouse del usuario cuando se desencadena el evento oncontextmenu . El menú se coloca encima y se centra en este punto.
Nota
Para VB, C# y C++, esta ventana es coreWindow asociada al subproceso que llama al menú contextual.
Devoluciones
Objeto IUICommand que representa el comando de menú contextual invocado por el usuario, una vez completada la llamada a ShowAsync.
Si no se invoca ningún comando, ShowAsync devuelve null.
Ejemplos
Para poder mostrar un menú contextual, debe agregar un agente de escucha de eventos para el evento oncontextmenu . Por ejemplo, el ejemplo de menú contextual escucha el evento en elementos HTML específicos y, a continuación, llama a la scenario1AttachmentHandler
función .
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");
}
});
Además, asegúrese de comprobar que se invocó un comando y procesará ese caso según corresponda para la aplicación. Si uiCommand que se invoca tiene una función de devolución de llamada (onSaveAttachment
en el ejemplo), se ejecutará la función de devolución de llamada. De lo contrario, es posible que tenga que usar UICommand.Id para identificar y procesar el comando invocado.
Comentarios
Puede ver ejemplos de código completos que muestran cómo crear y personalizar menús contextuales en el ejemplo de menú contextual.