DevExpress NavBar:外观无效

时间:2010-05-18 07:39:04

标签: c# winforms devexpress skinning navbar

这个问题与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。

1 个答案:

答案 0 :(得分:1)

NavBar是一个真正的定制痛苦...主要是因为它旨在为所有导航项目(样式警察,而不是我的想法)提供一个共同的外观。您应该选择一种最适合您的Gui的皮肤样式(了解皮肤/外观和感觉系统是值得的)。

然后使用NavBar控件的CustomDrawXXX事件来满足任何自定义绘画需求:)

您还可以使用DevX皮肤设计器并为NavBar创建皮肤。