LitDev.LDDialogs.getMenu C# (CSharp) Method

getMenu() public static method

public static getMenu ( BitmapSource>.Dictionary _savedImages, Primitive items, Primitive images, int iconSize ) : System.Windows.Controls.ContextMenu
_savedImages BitmapSource>.Dictionary
items Primitive
images Primitive
iconSize int
return System.Windows.Controls.ContextMenu
        public static ContextMenu getMenu(Dictionary<string, BitmapSource> _savedImages, Primitive items, Primitive images, int iconSize)
        {
            BitmapSource img;
            ContextMenu menu = new ContextMenu();
            int itemCount = SBArray.GetItemCount(items);
            Primitive itemIndices = SBArray.GetAllIndices(items);

            for (int i = 1; i <= itemCount; i++)
            {
                string itemText = items[itemIndices[i]];
                string imageName = images[itemIndices[i]];
                // Add the item
                MenuItem menuItem = new MenuItem();
                menuItem.Header = itemText;
                menuItem.Click += new RoutedEventHandler(_MenuClickEvent);
                menuItem.Tag = (string)(itemIndices[i]);
                // Creates the item image.
                if (imageName != "")
                {
                    if (!_savedImages.TryGetValue(imageName, out img))
                    {
                        imageName = ImageList.LoadImage(imageName);
                        _savedImages.TryGetValue(imageName, out img);
                    }
                    if (null != img)
                    {
                        System.Windows.Controls.Image image = new System.Windows.Controls.Image();
                        image.Source = img;
                        if (iconSize > 0)
                        {
                            Bitmap dImg = FastPixel.GetBitmap(img);
                            System.Drawing.Image.GetThumbnailImageAbort dummyCallback = new System.Drawing.Image.GetThumbnailImageAbort(LDWebCam.ResizeAbort);
                            dImg = (Bitmap)dImg.GetThumbnailImage(iconSize, iconSize, dummyCallback, IntPtr.Zero);
                            image.Source = FastPixel.GetBitmapImage(dImg);
                        }
                        menuItem.Icon = image;
                    }
                }
                menu.Items.Add(menuItem);
            }
            if (menu.Items.Count == 0) return null;
            return menu;
        }