Example #1
0
        /// <summary>
        /// Método responsável em adicionar nova tab de acordo com objeto respectivo.
        /// </summary>
        /// <param name="form">Form que será referenciado para exibição do contexto.</param>
        /// <param name="value">Valor que será transportado para form</param>
        /// <param name="sender">Objeto que chamou o comando</param>
        /// <returns>Retorno a tab para objeto da chamado poder encerrar o mesmo.</returns>
        public RibbonTab AddTab(FBase form, object sender)
        {
            // Pego o caminho temporário do usuário no sistema.
            var path = Path.GetTempPath();
            // Savo a imagem temporária.
            var guid = Guid.NewGuid().ToString();

            form.ImageSource?.Save(path + $"\\{guid}.bmp");

            var context = new[]
            {
                form,
                sender
            };

            // Crio o botão da ribon, passando nome do form, e a imagem.
            var ribbonButton = new RibbonButton
            {
                Label            = form.Text ?? form.Name,
                LargeImageSource = new BitmapImage(new Uri(path + $"\\{guid}.bmp")),
                Tag = context
            };

            ribbonButton.Click += RibbonButtonOnClick;

            // Cria um grupo opções, onde conterá o botão.
            var ribbonGroup = new RibbonGroup
            {
                Header = "Opções",
                Items  = { ribbonButton }
            };

            var nameModule = form.Module;

            // Finalmente gera a tab que representará o objeto passado no contexto.
            var tab = new RibbonTab
            {
                Header = ribbonButton.Label,
                Items  = { ribbonGroup },
                ContextualTabGroupHeader = nameModule
            };

            var tabGroup = new RibbonContextualTabGroup
            {
                Header     = nameModule,
                Background = new SolidColorBrush(Color.FromRgb(254, 92, 1)),
                Foreground = new SolidColorBrush(Color.FromRgb(0, 0, 0)),
                Visibility = Visibility.Visible,
                Margin     = new Thickness(0, -25, 0, 0),
                Width      = 150
            };

            Ribbon.ContextualTabGroups.Add(tabGroup);

            // Adiciona a tab no menu atual.
            Ribbon.Items.Add(tab);

            return(tab);
        }
Example #2
0
 /// <summary>
 /// Responsável em passar para menu, qual form será acrescentado na aba
 /// </summary>
 /// <param name="form">Form que será referenciado</param>
 /// <param name="sender">Component que solicitou a adição da aba.</param>
 /// <returns>Retorna a aba adicionada, para proprio component que a chamou finalize sua solicitação, quando necessário.</returns>
 public override RibbonTab AddTab(FBase form, object sender)
 {
     return(sMenuProcess1.AddTab(form, sender));
 }
Example #3
0
 /// <summary>
 /// Responsável em passar para menu, qual form será acrescentado na aba
 /// </summary>
 /// <param name="form">Form que será referenciado</param>
 /// <param name="sender">Component que solicitou a adição da aba.</param>
 /// <returns>Retorna a aba adicionada, para proprio component que a chamou finalize sua solicitação, quando necessário.</returns>
 public virtual RibbonTab AddTab(FBase form, object sender)
 {
     return(null);
 }