Pregunta

a esta pregunta es bastante DevExpress específica.

Yo uso un control de barra de navegación con la norma "SkinExplorerBarView" en una aplicación Windows Forms, y gustaría cambiar la apariencia de un enlace de navegación seleccionado .

He cambiado el color de fondo de "ItemPressed" y las apariciones del control "ItemActive", así como la apariencia de cada elemento sencillo "presionado", pero ninguno de ellos tenía el efecto alguno sobre cómo los vínculos se ven como cuando hacer clic sobre ellos .

También trató de establecer la propiedad LookAndFeel.UseDefaultLookAndFeel del control en falso, pero eso no ayudó a ninguno de ellos.

Según lo propuesto por Rusty, que luego trató de implementar el evento CustomDrawLink, todavía sin éxito. (Curiosamente, después de haber seleccionado un enlace, que no tiene el estado "seleccionado", pero "presionado" en su lugar, por lo que he usado):

private void nbcNavigation_CustomDrawLink(object sender, 
    DevExpress.XtraNavBar.ViewInfo.CustomDrawNavBarElementEventArgs e)
{
    if (e.ObjectInfo.State == DevExpress.Utils.Drawing.ObjectState.Pressed)
    {
        e.Appearance.BackColor = Color.FromArgb(192, 192, 255);
    }
}

he encontrado un ejemplo sobre el uso de CustomDrawLink, pero que hace todo el dibujo a mano, que es mucho el dolor y la exageración. Quiero que el DevExpress "motor" para dibujar el enlace, simplemente utilizando otro BackColor.

¿Fue útil?

Solución

La barra de navegación es un verdadero dolor de personalizar ... sobre todo porque está diseñado para dar una apariencia común para todos los elementos de navegación (policía estilo, no es mi idea). Usted debe escoger uno de los estilos de la piel que mejor funciona con su GUI (para conocer el sistema de la piel / LookAndFeel la pena el tiempo).

A continuación, utilice los eventos CustomDrawXXX de la barra de navegación de control para cualquier encargo de pintar necesidades:)

También es posible usar el diseñador de la piel DevX y crear una piel sólo para la barra de navegación.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top