Revit二次开发之Ribbon图片从Resources中调用

以PushButton为例,网上的案例都是Uri引用本地图片,现将图片加载至Resources并调用。

关键语句:Uri uri = new Uri("pack://application:,,,/程序集名称;component/Resources/bj.png", UriKind.Absolute);

    [Regeneration(RegenerationOption.Manual)]
    [Journaling(JournalingMode.NoCommandData)]
    public class Ribbon : IExternalApplication
    {
        Image image = Res.One_16;
        public Result OnShutdown(UIControlledApplication application)
        {
            return Result.Succeeded;
        }

        public Result OnStartup(UIControlledApplication application)
        {
            application.CreateRibbonTab("无名氏制作");
            RibbonPanel panel = application.CreateRibbonPanel("无名氏制作", "管道避让");
            string assemblyName = string.Empty;//不可替用
            //创建一个SplitButton
            SplitButtonData splitButtonData = new SplitButtonData("管道避让", "单边避让");
            SplitButton splitButton = panel.AddItem(splitButtonData) as SplitButton;

            //创建一个pushButton加到SplitButton的下拉列表里
            PushButton pushButton = splitButton.AddPushButton(new PushButtonData("AvoidMepCurve.OnesideCommand", "单边避让",
                @"F:\Practice\AvoidMepCurve\AvoidMepCurve\bin\Debug\AvoidMepCurve.dll", "AvoidMepCurve.OnesideCommand"));
            //@"F:\Practice\AvoidMepCurve\AvoidMepCurve\bin\Debug\AvoidMepCurve.dll"

            //本地文件,添加图片
            //Uri largeImage = new Uri(@"F:\Practice\AvoidMepCurve\AvoidMepCurve\ImageBox\One_32.png");
            //Uri image = new Uri(@"F:\Practice\AvoidMepCurve\AvoidMepCurve\ImageBox\One_16.png");
            //pushButton.LargeImage = new BitmapImage(largeImage);
            //pushButton.Image = new BitmapImage(image);


            //Resources添加图片
            Uri largeImage  = new Uri("pack://application:,,,/AvoidMepCurve;component/Resources/One_32.png", UriKind.Absolute);
            Uri image = new Uri("pack://application:,,,/AvoidMepCurve;component/Resources/One_16.png", UriKind.Absolute);
            pushButton.LargeImage = new BitmapImage(largeImage);
            pushButton.Image = new BitmapImage(image);

            pushButton.ToolTip = "为一端未连接的管道进行翻弯";

            return Result.Succeeded;
        }


    }


参考文章:(点击打开)

图片添加至Resources:

C#图片存到资源文件,以及调用图片

Ribbon的制作参考:

Revit 2011 二次开发之Ribbon



xaml.cs中改写Uri参考:

猜你喜欢

转载自blog.csdn.net/sinat_37519884/article/details/79263859
今日推荐