DevEx ドロップダウン ボタンを作成しようとしています。残念ながら、私は理解できない2つの問題に直面しています:
1) ポップアップ メニューが正しくスキンされません。つまり、「Office 2010 Blue」としてスキンされません。私が使用しているコードを以下に示します。
private void InitializeSendToPricingSheetButton()
{
var barManager = new BarManager();
if (barManager.Controller == null) barManager.Controller = new BarAndDockingController();
barManager.Controller.PaintStyleName = "Skin";
barManager.Controller.LookAndFeel.UseDefaultLookAndFeel = false;
barManager.Controller.LookAndFeel.SkinName = "Office 2010 Blue";
barManager.ItemClick += HandleSendToPricingSheetClick;
barManager.Items.AddRange(new[] { new BarButtonItem(barManager, "Foo"), new BarButtonItem(barManager, "Bar"), new BarButtonItem(barManager, "Baz") });
var popupMenu = new PopupMenu { Manager = barManager };
foreach (var barItem in barManager.Items) popupMenu.ItemLinks.Add((BarItem)barItem);
popupMenu.ItemLinks[1].BeginGroup = true;
dropDownButtonSendToPricingSheet.DropDownControl = popupMenu;
}
2) このボタンはフォームにあります。フォームがフォーカスを失った場合 (たとえば、Firefox をクリックした場合)、ポップアップ メニューは引き続き上部に表示されます。クリックするまで消えません。
どんな提案でも大歓迎です。DevEx の狂気に対処するのを手伝ってくれてありがとう。