RIBBON BUTTON IMAGE PROGRAMTICALLY

Ashish Pandey

Total Post:128

Points:898
Posted by  Ashish Pandey
C# 
C#
 980  View(s)
Ratings:
Rate this:

I'm trying to load a image onto a Ribbon Button. This is the System.Windows.Controls.RibbonBar type.

here is the code:

public RibbonGroup CreateButtons()

{

    RibbonGroup GroupControlComputers = new RibbonGroup();

    GroupControlComputers.Header = "Computer Control";

    GroupControlComputers.Items.Add(DropdownButton("DropDown Stuffs"));

    return GroupControlComputers;    

}

public RibbonButton DropdownButton(String Caption)

{

    RibbonButton NewRibbonButton = new RibbonButton();

    NewRibbonButton.Label = Caption;

    NewRibbonButton.AllowDrop = true;

    return NewRibbonButton;

}

I cant figure out how to add a icon. i can add the button without an image with no problems

Path to class file creating button is MyProject\Functions\Ribbonbar.cs

Path to the Icon File is MyProject\Images\Test\smallicon.ico


I have tried to figure out the LargeImageSource and just cant understand what I need to do.

Any help would be appreciated

  1. Pravesh Singh

    Post:412

    Points:2888
    Re: Ribbon Button Image Programtically

    Hi Ashish,

    There are two images which you need to specify: 

    LargeImageSource and SmallImageSource, they actually need to be different (one - larger and one - smaller), but for test try this:

    public RibbonButton DropdownButton(String Caption)

    {

        RibbonButton NewRibbonButton = new RibbonButton();

        NewRibbonButton.Label = Caption;

        BitmapImage image = new BitmapImage();

        image.BeginInit();

        // your path to image might be different

        image.UriSource = new Uri("pack://application:,,,/Images/Test/smallicon.ico");

        image.EndInit();

        NewRibbonButton.SmallImageSource = image;

        NewRibbonButton.LargeImageSource = image;

        NewRibbonButton.AllowDrop = true;

        return NewRibbonButton;

    }

Answer

NEWSLETTER

Enter your email address here always to be updated. We promise not to spam!