2013-05-20 45 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 ...);