none
Duda con ForEach in Ribbon!!! RRS feed

  • Pregunta

  • Hola, amigos, estoy probando en 1 WinForms, tener varios componentes de VS y 1 solo componente de DevExpress, en este caso 1 Ribbon, los cuales pueden tener Paginas->Grupos->Botones(items), pero al iterar por todos los controles y usar forEach me da error en el ultimo ForEach y no se como arreglarlo para poder iterar tambien por los botones o items.

    este es el code:

    for (int i = 0; i < main.Controls.Count; i++)
                {
                 System.Windows.Forms.Control ctr =  main.Controls[i];
                
                        if ((ctr.GetType().FullName == "DevExpress.XtraBars.Ribbon.RibbonControl"))
                        {
                            RibbonControl ribbon = null;
                            ribbon = ((RibbonControl)(ctr));                        
                            ArrayList visiblePages = ribbon.TotalPageCategory.GetVisiblePages();
    
                            foreach ( RibbonPage page in visiblePages )
                            {
                                foreach ( RibbonPageGroup Grupo in page.Groups )
                                {
                                    foreach ( DevExpress.XtraBars.BarBaseButtonItemLink Botones in Grupo.ItemLinks )
                                    {
                                                         //   MsgBox((page.Name + (" - "
                                                               //             + (Grupo.Name + ("-" + Botones.Caption.ToString)))));
                                    }
                                }
                            }
                        }            
                }

    y este es el error que me arroja, como lo arreglo????

    Unable to cast object of type 'DevExpress.XtraBars.BarStaticItemLink' to type 'DevExpress.XtraBars.BarBaseButtonItemLink'.

    saludos

    Cronos


    Alex

    • Cambiado webJoseModerator viernes, 12 de octubre de 2012 20:09 (De:Lenguaje C#)
    viernes, 12 de octubre de 2012 20:04

Todas las respuestas

  • Pues no conozco del RibbonControl pero el mensaje quiere decir que la colección en Grupo.ItemLinks contiene al menos un elemento que no hereda o no es del tipo DevExpress.XtraBars.BarBaseButtonItemLink.  Deberá usted consultar la documentación de este RibbonControl para determinar si esto es algo documentado o no.  En el peor de los casos, le recomendaría hacer la pregunta en un foro dedicado a ese control, pues aquí solamente obtendrá ayuda si por casualidad alguien más lo ha usado y tiene experiencia.

    Jose R. MCP
    Code Samples

    viernes, 12 de octubre de 2012 20:08
    Moderador