コード例 #1
0
        public StackPanel LoopItemlist(ObservableCollection <RibbonItemCustom> ItemData, int start, int end)
        {
            StackPanel stackpanel = new StackPanel()
            {
                Orientation = Orientation.Horizontal
            };

            for (int i = start; i < end; i++)
            {
                String     Id            = ItemData[i].Id;
                String     ToolTip       = ItemData[i].ToolTip;
                String     text          = ItemData[i].Text;
                String     ImagePath     = ItemData[i].ImagePath;
                Boolean    ExternalImage = ItemData[i].ExternalImage;
                Boolean    IsVisible     = ItemData[i].IsVisible;
                Boolean    IsInitialized = ItemData[i].IsInitialized;
                String     Image         = ItemData[i].Image;
                String     LargeImage    = ItemData[i].LargeImage;
                int        width         = ItemData[i].Width;
                int        height        = ItemData[i].Height;
                Boolean    IsEnabled     = ItemData[i].IsEnabled;
                String     Size          = ItemData[i].Size;
                ButtonSize size;
                switch (Size)
                {
                case "Small":
                    size = ButtonSize.Small;
                    break;

                case "Large":
                    size = ButtonSize.Large;
                    break;

                default:
                    size = ButtonSize.Medium;
                    break;
                }
                String  Type       = ItemData[i].ItemType;
                Boolean IsAutoSize = ItemData[i].ExternalImage;
                Image   image      = new Image();
                try
                {
                    image.Source = new BitmapImage(new Uri(binDebug + PathImage + ItemData[i].Image));
                }
                catch { }
                Image largeImage = new Image();
                try
                {
                    largeImage.Source = new BitmapImage(new Uri(binDebug + PathImage + ItemData[i].Image));
                }
                catch { }
                switch (ItemData[i].ItemType)
                {
                case "Button":
                    stackpanel.Children.Add(
                        new RadRibbonButton()
                    {
                        CollapseToSmall = CollapseThreshold.WhenGroupIsMedium,
                        SmallImage      = image.Source,
                        LargeImage      = largeImage.Source,
                        Size            = size,
                        Text            = text,
                    }
                        );
                    break;

                case "SplitButton":
                    RadRibbonSplitButton splitButton = new RadRibbonSplitButton
                    {
                        Size              = size,
                        Text              = text,
                        LargeImage        = largeImage.Source,
                        SmallImage        = image.Source,
                        VerticalAlignment = VerticalAlignment.Top,
                    };
                    RadContextMenu contextMenu = new RadContextMenu();
                    RadMenuItem    Item        = new RadMenuItem()
                    {
                        Icon = image.Source, Header = text
                    };
                    contextMenu.Items.Add(Item);
                    splitButton.DropDownContent = contextMenu;
                    stackpanel.Children.Add(splitButton);
                    break;

                case "ToggleButton":
                    stackpanel.Children.Add(new RadRibbonToggleButton()
                    {
                        Content           = text,
                        LargeImage        = largeImage.Source,
                        Size              = size,
                        VerticalAlignment = VerticalAlignment.Top
                    });
                    break;

                case "DropDownButton":
                    StackPanel stack = new StackPanel()
                    {
                        Orientation = Orientation.Vertical
                    };
                    Label Text = new Label()
                    {
                        Content = ItemData[i].Text
                    };
                    ComboBox ComboBox = new ComboBox();
                    stack.Children.Add(Text);
                    stack.Children.Add(ComboBox);
                    stackpanel.Children.Add(stack);
                    break;
                }
            }
            return(stackpanel);
        }
コード例 #2
0
        public static void ConverToTelerik(ObservableCollection <RibbonItemCustom> ItemsCustom)
        {
            ObservableCollection <object> temp = new ObservableCollection <object>();

            foreach (RibbonItemCustom itemCustom in ItemsCustom)
            {
                RibbonControl control = ComponentManager.Ribbon;


                String     Id            = itemCustom.Id;
                String     ToolTip       = itemCustom.ToolTip;
                String     text          = itemCustom.Text;
                String     ImagePath     = itemCustom.ImagePath;
                Boolean    ExternalImage = itemCustom.ExternalImage;
                Boolean    IsVisible     = itemCustom.IsVisible;
                Boolean    IsInitialized = itemCustom.IsInitialized;
                String     Image         = itemCustom.Image;
                String     LargeImage    = itemCustom.LargeImage;
                int        width         = itemCustom.Width;
                int        height        = itemCustom.Height;
                Boolean    IsEnabled     = itemCustom.IsEnabled;
                String     Size          = itemCustom.Size;
                ButtonSize size;
                switch (Size)
                {
                case "Small":
                    size = ButtonSize.Small;
                    break;

                case "Large":
                    size = ButtonSize.Large;
                    break;

                default:
                    size = ButtonSize.Medium;
                    break;
                }
                String  Type       = itemCustom.ItemType;
                Boolean IsAutoSize = itemCustom.ExternalImage;
                Image   image      = new Image();
                try
                {
                    image.Source = new BitmapImage(new Uri(binDebug + PathImage + itemCustom.Image));
                }
                catch { }
                switch (Type)
                {
                case "Button":
                    temp.Add(new RadRibbonButton());
                    break;

                case "SplitButton":
                    RadRibbonSplitButton splitButton = new RadRibbonSplitButton
                    {
                        Size              = size,
                        Text              = text,
                        LargeImage        = image.Source,
                        SmallImage        = image.Source,
                        Width             = width,
                        Height            = height,
                        VerticalAlignment = VerticalAlignment.Top
                    };
                    RadContextMenu contextMenu = new RadContextMenu();
                    RadMenuItem    Item        = new RadMenuItem()
                    {
                        Icon = image.Source, Header = text
                    };
                    contextMenu.Items.Add(Item);
                    splitButton.DropDownContent = contextMenu;
                    temp.Add(splitButton);
                    break;

                case "ToggleButton":
                    temp.Add(new RadRibbonToggleButton()
                    {
                        Content           = text,
                        LargeImage        = image.Source,
                        Size              = size,
                        Width             = width,
                        Height            = height,
                        VerticalAlignment = VerticalAlignment.Top
                    });
                    break;

                case "DropDownButton":
                    StackPanel stack = new StackPanel()
                    {
                        Orientation = Orientation.Horizontal
                    };
                    Label Text = new Label()
                    {
                        Content = itemCustom.Text
                    };
                    ComboBox ComboBox = new ComboBox();
                    stack.Children.Add(Text);
                    stack.Children.Add(ComboBox);
                    temp.Add(stack);
                    break;
                }
            }
            StackPanel row1 = new StackPanel();

            for (int i = 0; i < temp.Count / 2; i++)
            {
                string Type = temp[i].GetType().Name;
                switch (Type)
                {
                case "Button":
                    row1.Children.Add((RadRibbonButton)temp[i]);
                    break;

                case "SplitButton":
                    row1.Children.Add((RadRibbonSplitButton)temp[i]);
                    break;

                case "ToggleButton":
                    row1.Children.Add((RadRibbonToggleButton)temp[i]);
                    break;

                case "DropDownButton":
                    //row1.Children.Add((RadRibbonButton)temp[i]);
                    break;
                }
            }
            StackPanel row2 = new StackPanel();

            RadControl = temp;
        }