2011-06-13 52 views
1

我使用Silverlight 4.0,並且ComboBox控件出現問題。我想實現一個彈出式菜單,它將顯示和隱藏自己而不點擊鼠標。當我將光標放在它的區域時它應該顯示 - 這個prt運行良好。然後,只要將鼠標指針放置在其區域外一段時間就應該隱藏起來。我用MouseEnter和MouseLeave事件實現了它。 我的問題是組合框 - 在我看來,這個控件的表現很奇怪。通常我會希望當我將光標放在它上面時,它會引發MouseEnter事件,而當我將鼠標光標放在其他地方時,會引發MouseLeave事件。真實情況不同:每當我點擊組合框時,它會打開並顯示選項列表,並立即發送LostFocus和MouseLeave事件。所以看起來控制器失去了鍵盤焦點並且鼠標指針已經移出了它的區域,而實際上選擇器的組合框列表是開放的並且是活動的並且具有鍵盤焦點。ComboBox不會像預期的那樣引發鍵盤和鼠標事件

所以問題是我怎麼能在我的程序中知道組合框中發生了什麼?爲了正確隱藏我的彈出菜單,我需要知道組合框中的選項列表何時打開或關閉。我無法看到有關此文件或任何其他文檔的任何事件。 (想要的行爲是:如果一個組合框關閉,我隱藏我的彈出菜單根據鼠標光標的位置。如果組合框是打開的,我永遠不會隱藏我的彈出菜單,直到用戶選擇組合框中的東西或關閉組合框。 )

此外,如果您對第三方組合框替換有很好的體驗,它的外觀和工作方式類似,並引發了我需要的事件,請讓我知道。

回答

相關問題