0

您好我正在尝试使用 Popup 在 Windows 8 中创建上下文菜单。在右键单击按钮时,我正在调用以下函数

private async void UIElement_OnRightTapped(object sender, RightTappedRoutedEventArgs e)
    {
        PopupMenu popUpMenu = new PopupMenu();
        popUpMenu.Commands.Add(new UICommand("File"));
        Rect rect = GetRect(sender);
        var result= await popUpMenu.ShowForSelectionAsync(rect, Placement.Right);
    }

而 GetRect 方法的定义如下:-

private Rect GetRect(object sender)
    {
        FrameworkElement element = sender as FrameworkElement;
        GeneralTransform elementTransform = element.TransformToVisual(null);
        Point point = elementTransform.TransformPoint(new Point());
        Size size = new Size(element.ActualWidth, element.ActualHeight);
        Rect rect = new Rect(point, size);
        return rect;
    }

虽然 GetRect 返回正确的值,但我仍然得到结果为空。

请帮忙

4

2 回答 2

0

我无法弄清楚你为什么会遇到这个问题。在第一个视图中,一切看起来都很好。

也许 Tim Heuer Callisto包包含一种更简单的方法来满足您的需求。请参阅示例。

于 2013-03-07T08:23:25.627 回答
0

这是因为您没有单击“文件”命令,而是单击了页面上的其他位置。

于 2013-12-20T08:55:46.280 回答