この質問はかなり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);
}
}
CustomDrawLinkの使用例を見つけましたが、それはすべての描画を手作業で行うため、非常に苦痛でやり過ぎです。別のBackColorを使用するだけで、DevExpressの「エンジン」にリンクを描画させたい。