我正在使用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*/
}发布于 2013-05-21 04:40:31
MenuItem似乎不能处理传统的基于事件的代码,您需要通过MenuItem实现/使用ICommand实现。两个最常见的是来自MVVM Light Toolkit的RelayCommand和来自棱镜的DelegateCommand。您可以从CodePlex获取DelegateCommand及其基类代码,将其放入您的项目中,然后执行以下操作以使用MenuItem:
mi1.Command = new DelegateCommand(() => do something ...);https://stackoverflow.com/questions/16657145
复制相似问题