コード例 #1
0
 protected virtual void OnCommandReceived(UElementMenu sender, ElementMenuCommandReceivedEventArgs args)
 {
     switch (args.Command)
     {
         case "ShutDown":
             UTableHelper.Shutdown(0);
             break;
         case "DesignWindow":
             {
                  ObjectCreateParameter loadAppParam = new ObjectCreateParameter(typeof(DesignWindow));
                  IObject appLoader = UTableHelper.CreateObject(loadAppParam, this);
                  PlaceAppLoader(appLoader, this._menuPositionList[sender]);
             }
             break;
         case "DirectWindow":
             //TODO
             break;
         case "ResetTabletop":
             //TODO
             break;
         case "CloseMenu":
             break;
     }
 }
コード例 #2
0
        private void startTimer_Elapsed(object sender, EventArgs e)
        {
            DispatcherTimer timer = sender as DispatcherTimer;
            timer.Stop();
            if (_holdFingerList.ContainsValue(timer))
            {
                int finger = GetFingerIDByTimer(timer);

                UElementMenu menu = new UElementMenu();
                UElementMenuItem shutItem = new UElementMenuItem();
                shutItem.Header = "Shut down";
                shutItem.Command = "ShutDown";
                UElementMenuItem resetItem = new UElementMenuItem();
                resetItem.Header = "Reset tabletop";
                resetItem.Command = "ResetTabletop";
                UElementMenuItem loadItem = new UElementMenuItem();
                loadItem.Header = "Design Window";
                loadItem.Command = "DesignWindow";
                UElementMenuItem procudeItem = new UElementMenuItem();
                procudeItem.Header = "Direct Window";
                procudeItem.Command = "DirectWindow";
                UElementMenuItem nothingItem = new UElementMenuItem();
                nothingItem.Header = "Close Menu";
                nothingItem.Command = "CloseMenu";

                menu.Items.Add(shutItem);
                menu.Items.Add(loadItem);
                menu.Items.Add(resetItem);
                menu.Items.Add(procudeItem);
                menu.Items.Add(nothingItem);
                menu.MaxAngle = 320;
                Random r = new Random();
                menu.Orientation = r.NextDouble() * 360;

                Canvas.SetLeft(menu, _holdFingerPositionList[finger].X - 30);
                Canvas.SetTop(menu, _holdFingerPositionList[finger].Y - 30);
                menu.Opacity = 1;
                menu.Width = 60;
                menu.Height = 60;
                _menuPositionList.Add(menu, _holdFingerPositionList[finger]);
                _menuList.Add(menu, finger);
                _holdFingerList.Remove(finger);
                _holdFingerPositionList.Remove(finger);
                PopupStage.Children.Add(menu);

                PiePiece pie = timer.Tag as PiePiece;
                pie.BeginAnimation(PiePiece.WedgeAngleProperty, null);
                PopupStage.Children.Remove(pie);

                menu.Loaded += new RoutedEventHandler(menu_Loaded);
                menu.SubmenuClosed += new EventHandler(menu_SubmenuClosed);
                menu.CommandReceived += new ElementMenuCommandReceivedEventHandler(OnCommandReceived);
            }
        }