2011-09-21 31 views
0

我在XBAP中有一個Popup控件,每當彈出控件打開並失去焦點(例如警告框,斷點,在Windows中切換到另一個應用程序,切換到Web瀏覽器中的另一個Tab等) ,Popup不再響應任何事情,除了鼠標事件。失去焦點後,XBAP中的彈出窗口停止接收除鼠標事件之外的任何內容?

我不能:

  • 選擇在一個TextBox鼠標
  • 高亮文本使用鼠標
  • 使用TextBox Tab鍵來改變控制
  • 使用鍵盤選擇組合框項當我用鼠標打開它時

我可以:

  • 變化與鼠標
  • 一個組合框的值點擊一個按鈕,用鼠標

回答

1

最接近這個問題,我能找到的http://social.msdn.microsoft.com/Forums/en/wpf/thread/cd723315-187f-4d8b-a97d-6aac38a2ed1f

程序員正在失去焦點的彈出窗口,然後再也沒能把它拿回來。據微軟支持者說。 「看起來你在XBAP中遇到了與Popup相關的已知錯誤。」

您可以看到它是否與您的問題類似,但問題從未解決。 OP最終在主頁面添加了一個畫布,用戶控件替換了彈出窗口。


如果這其實不是某種不可避免的行爲,和我從頭開始解決這個問題,當你的應用程序重新獲得焦點,看看你的應用程序是否得到兩個keyboard and logical focus我會檢查,而且焦點範圍一直向下到彈出窗口上的控件。

在邏輯焦點中,存在「焦點範圍」的概念,該焦點範圍是圍繞一組UIElements的應用程序定義的邊界。每個焦點範圍都維護自己的「聚焦元素」,該元素可能與具有鍵盤焦點的元素不同。

+0

lol我應該知道比使用WPF Popups更好。實際上我有我自己的Popup UserControl,但是在這種情況下,我想再次嘗試使用WPF的彈出窗口,因爲從我上次嘗試它以來已經有一段時間了。回到使用我的UserControl我猜... – Rachel

相關問題