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
Координаты (в DIP) относительно окна пальца или указателя мыши пользователя при срабатывании события oncontextmenu . Меню расположено выше и по центру этого пункта.
Примечание
Для VB, C# и C++ это окно является Окном CoreWindow , связанным с потоком, вызывающим контекстное меню.
Возвращаемое значение
Объект IUICommand , представляющий команду контекстного меню, вызванную пользователем после завершения вызова ShowAsync.
Если команда не вызывается, 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 для идентификации и обработки вызываемой команды.
Комментарии
Полные примеры кода, демонстрирующие создание и настройку контекстных меню, см. в примере контекстного меню.