RIBBON BUTTON IMAGE PROGRAMTICALLY

Ashish Pandey

Total Post:128

Points:898
Posted by  Ashish Pandey
C# 
C#
 1158  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;
    }

      Modified On Apr-04-2018 12:41:01 AM

Answer

NEWSLETTER

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