2013-05-20 2 views
0

I'm с помощью Visual Studio 2012Callisto + Указатель прессованная + xmal

Привет Я попытался все, что пришло на мой взгляд, чтобы попытаться сделать это, но я не могу найти anwser.

Я пробовал: 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

Это кажется так как MenuItem не обрабатывает традиционный код на основе событий, и вам необходимо реализовать/использовать реализацию ICommand с помощью MenuItem. Двумя наиболее распространенными являются RelayCommand от MVVM Light Toolkit и DelegateCommand от Prism. Вы можете захватить команду DelegateCommand и код базового класса из CodePlex, поместить ее в свой проект, а затем вы будете делать что-то подобное с помощью MenuItem:

mi1.Command = new DelegateCommand(() => do something ...); 
Смежные вопросы