2013-05-20 46 views
0

I'm的Visual Studio 2012木卫四+指针压利用+ Xmal位

您好我已尝试已经在我的脑海里,试图做到这一点的每一件事,但我不能找到anwser。

我试过这个: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; 

嗨,你怎么证明it's的一种方式,但更多的是搜索和我发E-mail给开发人员,我找到了一个最佳的方式使用该木卫四

 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

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

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