Domanda

questa domanda è abbastanza DevExpress-specifici.

Io uso un controllo NavBar con lo standard "SkinExplorerBarView" in un'applicazione WinForms, e piacerebbe modificare l'aspetto di un link di navigazione selezionato .

Ho cambiato il colore di sfondo della "ItemPressed" e le apparenze del controllo "ItemActive", così come l'aspetto "premuto" di ogni singolo elemento, ma nessuno di questi ha avuto l'effetto su come i link simile a quando ho cliccare su di loro .

Ho anche provato a impostare la proprietà LookAndFeel.UseDefaultLookAndFeel del controllo su False, ma quello non ha aiutato nessuno dei due.

Come proposto dalla Rusty, ho poi cercato di implementare l'evento CustomDrawLink, ancora senza successo. (Stranamente, dopo aver selezionato un link, non ha lo stato "selezionato", ma "Pressato", invece, quindi ho usato questo):

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);
    }
}

un esempio sull'uso CustomDrawLink, ma che fa tutto il disegno a mano, che è molto più dolore e eccessivo. Voglio che il DevExpress "motore" per disegnare il collegamento, semplicemente utilizzando un altro BackColor.

È stato utile?

Soluzione

Il NavBar è un vero e proprio dolore per personalizzare ... soprattutto perché è stato progettato per dare un aspetto comune per tutti gli elementi di navigazione (polizia lo stile, non la mia idea). Si dovrebbe scegliere uno degli stili di pelle che funziona meglio con il vostro Gui (per conoscere il sistema pelle / LookAndFeel vale il tempo).

Quindi utilizzare gli eventi CustomDrawXXX del controllo NavBar per qualsiasi personalizzato pittura esigenze:)

È anche possibile utilizzare il designer pelle DevX e creare una pelle solo per la barra di navigazione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top