Windows runtime 卡利斯托&x2B;指针按下+;转页

Windows runtime 卡利斯托&x2B;指针按下+;转页,windows-runtime,callisto,Windows Runtime,Callisto,我正在使用visual studio 2012 嗨,我已经尝试了我脑海中的每一件事来尝试和做这件事,但我找不到答案 我尝试了以下方法:mi1.PointerPressed(),但没有成功。 我尝试了很多方法,但我在callisto中找不到任何东西来解释我是如何在菜单项中输入命令的。 如果有人知道并能帮助我,我将非常感谢你。xD Flyout flyOut = new Flyout(); flyOut.PlacementTarget = sender as UIElement; flyOut.Pl

我正在使用visual studio 2012

嗨,我已经尝试了我脑海中的每一件事来尝试和做这件事,但我找不到答案

我尝试了以下方法:
mi1.PointerPressed()
,但没有成功。 我尝试了很多方法,但我在callisto中找不到任何东西来解释我是如何在菜单项中输入命令的。 如果有人知道并能帮助我,我将非常感谢你。xD

Flyout flyOut = new Flyout();
flyOut.PlacementTarget = sender as UIElement;
flyOut.Placement = PlacementMode.Bottom;

Menu m = new Menu();
m.MinWidth = 110;
MenuItem mi1 = new MenuItem();
mi1.Text = "Some Option";

MenuItem mi2 = new MenuItem();
mi2.Text = "Another Option Here";

m.Items.Add(mi1);
m.Items.Add(new MenuItemSeparator());
m.Items.Add(mi2);

flyOut.Content = m;

flyOut.IsOpen = true;
您好,您如何显示这是一种方式,但搜索更多,我向开发人员发送了一封电子邮件,我找到了使用callisto的最佳方式

        private void ShowFlyoutMenu(object sender, RoutedEventArgs e)
        {
        Flyout flyOut = new Flyout();
        flyOut.PlacementTarget = sender as UIElement;
        flyOut.Placement = PlacementMode.Bottom;


        Menu m = new Menu();
        m.MinWidth = 110;
        MenuItem mi1 = new MenuItem();
        mi1.Text = "TE";
        mi1.Tapped += mi1_Tapped;


        m.Items.Add(mi1);
        m.Items.Add(new MenuItemSeparator());
        m.Items.Add(mi2);

        flyOut.Content = m;

        flyOut.IsOpen = true;

        UpdateLayout();
    }


    private void mi1_Tapped(object sender, TappedRoutedEventArgs e)
    {
    /**YOUR CODE*/
    }

MenuItem似乎不处理传统的基于事件的代码,您需要在MenuItem中实现/使用ICommand实现。最常见的两种是MVVM Light Toolkit和Prism。您可以从CodePlex获取DelegateCommand及其基类代码,将其放入项目中,然后执行类似操作以使用MenuItem:

mi1.Command = new DelegateCommand(() => do something ...);