DevExpress NavBar: внешний вид не имеет никакого эффекта - PullRequest
0 голосов
/ 18 мая 2010

этот вопрос довольно специфичен для DevExpress.

Я использую элемент управления NavBar со стандартным SkinExplorerBarView в приложении WinForms, и хотел бы изменить внешний вид выбранной навигационной ссылки .

Я изменил цвет фона элементов управления «ItemPressed» и «ItemActive», а также внешнего вида «Pressed» каждого отдельного элемента, но ни один из них не оказал никакого влияния на то, как выглядят ссылки, когда нажмите на них .

Я также попытался установить для свойства LookAndFeel.UseDefaultLookAndFeel элемента управления значение False, но это тоже не помогло.

По предложению Расти я попытался реализовать событие 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);
    }
}

Я нашел пример по использованию CustomDrawLink, но он выполняет все рисование от руки, что вызывает много боли и лишних усилий. Я хочу, чтобы "движок" DevExpress рисовал ссылку, просто используя другой BackColor.

1 Ответ

1 голос
/ 18 мая 2010

Настроить NavBar очень сложно ... в основном потому, что он разработан так, чтобы придать общий вид всем элементам навигации (стиль полиции, а не моя идея). Вы должны выбрать один из стилей скина, который лучше всего работает с вашим графическим интерфейсом (знакомство с системой skin / lookandfeel стоит времени).

Затем используйте события CustomDrawXXX элемента управления NavBar для любых пользовательских задач рисования:)

Вы также можете использовать дизайнер скинов DevX и создавать скины только для NavBar.

...