我正在使用visual studio 2012
嗨,我已经尝试过所有想到的东西,但是我找不到这个东西。
我试过了这个:mi1.PointerPressed()
但它没有用。
我尝试了很多方法,但我没有在callisto中找到帮助,解释我如何在menuitem中放置一个命令。
如果有人知道并且可以帮助我,我会非常感谢你。的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*/
}
答案 0 :(得分:0)
似乎MenuItem不处理传统的基于事件的代码,您需要使用MenuItem实现/使用ICommand实现。两个最常见的是来自MVVM Light Toolkit的RelayCommand和来自Prism的DelegateCommand。您可以从CodePlex中获取DelegateCommand及其基类代码,将其放入项目中,然后您可以执行类似这样的操作来使用MenuItem:
mi1.Command = new DelegateCommand(() => do something ...);