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 は正しい値を返していますが、それでも null として結果を取得しています。

助けてください

4

2 に答える 2

0

これは、[ファイル] コマンドをクリックしているのではなく、ページの他の場所をクリックしているためです。

于 2013-12-20T08:55:46.280 に答える
0

なぜあなたがこの問題を抱えているのか分かりません。最初のビューでは、すべてがうまく見えます。

おそらく、Tim Heuer Callistoパッケージには、まさにあなたが望むもののためのより簡単なアプローチが含まれています. この例を参照してください。

于 2013-03-07T08:23:25.627 に答える