2010-05-18 71 views
0

這個問題相當DevExpress特定。DevExpress導航欄:外觀沒有影響

我在WinForms應用程序中使用帶有標準「SkinExplorerBarView」的NavBar控件,並且想要更改所選導航鏈接的外觀。

我改變了控件的「ItemPressed」和「ItemActive」外觀以及每個單個項目的「Pressed」外觀的背景顏色,但是這些都沒有影響我點擊鏈接時的樣子在他們上面

我也嘗試將控件的LookAndFeel.UseDefaultLookAndFeel屬性設置爲False,但這也沒有幫助。

由Rusty提議,然後我嘗試實現CustomDrawLink事件,但仍未成功。 (有趣地,在選擇中的鏈接後,它沒有國家「選擇」,但「按下」代替,所以我使用的):

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

我發現an example使用CustomDrawLink,但這一切手工繪製,這是很痛苦和矯枉過正。我希望DevExpress「引擎」通過使用另一種BackColor來繪製鏈接。

+0

「我想讓DevExpress」引擎「通過使用另一種BackColor來繪製鏈接。」......它不會這樣做......「但是這樣做是通過手工完成的,是非常痛苦的。「是的,這是非常痛苦的,而且是唯一的方式來做你想要的與當前的DevX版本。抱歉。 – Rusty 2010-05-25 02:29:31

+0

嗨,Rusty,我明白了。這真的令人失望,我不會期望從DevExpress,但我想我必須忍受它... – chiccodoro 2010-05-25 07:31:48

+0

確保你在DevX網站上發佈你的需求...他們比大多數人更好迴應客戶的要求。 – Rusty 2010-05-25 08:05:34

回答

1

NavBar是一種真正的自定義疼痛......主要是因爲它旨在爲所有導航項目(風格警察,而不是我的想法)提供一個共同的外觀。你應該選擇一種最適合你的Gui的皮膚樣式(瞭解skin/lookandfeel系統是值得的)。

然後使用NavBar控件的CustomDrawXXX事件的任何自定義塗裝需求:)

您也可以使用DevX皮膚設計師,只是檢測NavBar創建一個皮膚。

+0

嗨Rusty。我沒有管理尚未恰當地使用該事件。 (在我的問題中包含我的代碼) – chiccodoro 2010-05-21 07:42:45

+0

@chiccodoro Cool..let我知道我是否可以提供幫助。 – Rusty 2010-05-21 09:59:58

+0

謝謝。正如我的更新中提到的那樣,「手動」執行繪圖的確如此。我不能投你的答案,因爲我已經這樣做了一次,但後來認爲我應該先試一試並解開投票。現在它說:你已經投了票...如果你稍微修改你的答案,投票應該再次解鎖。 ;-) – chiccodoro 2010-05-25 07:34:05