arnaudalp 发表于 2019-6-13 09:16:11

打开临时功能区


我制作了一个功能区,当我单击图标时,我的新功能区是“创建”。我选择了一个带有新图标的命令(例如圆形),当我完成命令时,我想关闭此功能区以查找我的第一个功能区
在其他时间,我希望在执行命令期间激活命令并显示新功能区。…
namespace RibbonSample
{
    public class Ribbon
    {
      
      
      public void MyRibbon()
      {         
            Autodesk.Windows.RibbonControl ribbonControl = Autodesk.Windows.ComponentManager.Ribbon;
            RibbonTab Tab = new RibbonTab();
            Tab.Title = "Autodesk .NET forum Ribbon Sample";
            Tab.Id = "RibbonSample_TAB_ID";
            Tab.IsContextualTab = false;
            ribbonControl.Tabs.Add(Tab);
         // create Ribbon panels
         Autodesk.Windows.RibbonPanelSource panel1Panel = new RibbonPanelSource();
         panel1Panel.Title = "Panel1";
         RibbonPanel Panel1 = new RibbonPanel();
         Panel1.Source = panel1Panel;
         Tab.Panels.Add(Panel1);
            RibbonButton pan1button1 = new RibbonButton();
            pan1button1.Text = "Button1";
            pan1button1.ShowText = true;
            pan1button1.ShowImage = true;
            pan1button1.Image = Images.getBitmap(Properties.Resources.Small);
            pan1button1.LargeImage = Images.getBitmap(Properties.Resources.large);
            pan1button1.Orientation = System.Windows.Controls.Orientation.Vertical;
            pan1button1.Size = RibbonItemSize.Large;
            panel1Panel.Items.Add(pan1button1);
            Tab.IsActive = true;
            pan1button1.CommandHandler = new RibbonCommandHandler();
            pan1button1.CommandParameter = "Test ";   
                           
      }
      
      public void MyRibbon2()
      {
            Autodesk.Windows.RibbonControl ribbonControl = Autodesk.Windows.ComponentManager.Ribbon;
            RibbonTab Tab1 = new RibbonTab();
            Tab1.Title = "Autodesk test";
            Tab1.Id = "RibbonSample_TAB_ID";
            Tab1.IsContextualTab = false;
            ribbonControl.Tabs.Add(Tab1);
            
            // create Ribbon panels
            Autodesk.Windows.RibbonPanelSource panelPanel = new RibbonPanelSource();
            panelPanel.Title = "Panel test";
            RibbonPanel Panel = new RibbonPanel();
            Panel.Source = panelPanel;
            Tab1.Panels.Add(Panel);
            RibbonButton pan1button1 = new RibbonButton();
            pan1button1.Text = "Button test";
            pan1button1.ShowText = true;
            pan1button1.ShowImage = true;
            pan1button1.Image = Images.getBitmap(Properties.Resources.Small);
            pan1button1.LargeImage = Images.getBitmap(Properties.Resources.large);
            pan1button1.Orientation = System.Windows.Controls.Orientation.Vertical;
            pan1button1.Size = RibbonItemSize.Standard;
            panelPanel.Items.Add(pan1button1);
            Tab1.IsActive = true;
            
            pan1button1.CommandHandler = new RibbonCommandHandler();
            pan1button1.CommandParameter = "_Circle ";
         
         
                     
      }
      public class RibbonCommandHandler : System.Windows.Input.ICommand
      {
            public RibbonTab Getstatus(RibbonTab tab)
            {
                return tab;
            }
            public bool CanExecute(object parameter)
            {
                return true;
            }
            public event EventHandler CanExecuteChanged;
            public void Execute(object parameter)
            {
                Document doc = acadApp.DocumentManager.MdiActiveDocument;
                RibbonCommandItem cmd = parameter as RibbonCommandItem;
                doc.SendStringToExecute((string)cmd.CommandParameter, true, false, true);            
            
            }
      }
      public class Images
      {
            public static BitmapImage getBitmap(Bitmap image)
            {
                MemoryStream stream = new MemoryStream();
                image.Save(stream, ImageFormat.Png);
                BitmapImage bmp = new BitmapImage();
                bmp.BeginInit();
                bmp.StreamSource = stream;
                bmp.EndInit();
                return bmp;
            }
      }
    }
}
**** Hidden Message *****
页: [1]
查看完整版本: 打开临时功能区