Каллисто + указатель нажата + xmal

Я использую Visual Studio 2012

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

Я попробовал это: mi1.PointerPressed() и это не сработало. Я перепробовал много способов, и я не нахожу в каллисте что-то, чтобы объяснить, как я помещаю команду в элемент меню. Если кто-то знает и может мне помочь, я буду вам очень благодарен. 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*/
    }

1 ответ

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

mi1.Command = new DelegateCommand(() => do something ...);
Другие вопросы по тегам