2009-05-05 14 views
5

我現在要在我的WPF應用程序中關注地獄。焦點在元素之間跳躍,並且看起來消失時只是在重複按下Tab鍵時出現在另一個元素上。任何人都有一個很好的方式來調試WPF焦點?

是否有一個屬性,我可以綁定一個標籤或什麼,只是告訴我,當時鍵盤焦點鎖定到什麼地方?有時候我可以看到螞蟻蹤跡(虛線),表明某物有焦點,但我無法分辨它周圍的情況以關閉鍵盤焦點!

回答

0

焦點問題可能很難分析,因爲幾乎你用調試器做的每件事都會影響焦點。

  • 間諜++的副本與Visual Studio會告訴你去各種 控制事件;這可能有幫助。
  • 您可以將焦點和失去焦點的事件記錄到另一個地方(如另一個窗口中的列表控件)。甚至可以將當前窗口標題設置爲當前焦點對象的名稱。然後你可以看到目前的焦點。

要問的一個更好的問題是爲什麼焦點跳躍?你是否明確設定了重點?也許關於你的實現(即你正在使用哪個容器)的一點提示可能會幫助我們回答。

+0

這是來自WPF Toolkit CTP的WPF數據網格。出於某種原因,當我從DataGrid綁定的集合中刪除一個項目時,焦點從網格內跳轉到網格外的某個內容。螞蟻足跡出現在整個電網周圍。 – Jippers 2009-05-05 22:42:15

1

什麼你很可能尋找的是:

(System.Windows.Input.Keyboard.FocusedElement爲FrameworkElement的),請將.Name

你將不得不建立一個DependencyProperty它讓你可以綁定到它雖然。

Vaccano

+0

我該怎麼做?我試圖從MSDN在這裏的例子,但沒有太多的運氣。 http://msdn.microsoft.com/en-us/library/system.windows.dependencyobject.aspx – Jippers 2009-05-05 22:50:35

0

也許你可以嘗試適當的值設置爲控件的TabIndex屬性?這應該使焦點「跳過」你希望在按Tab鍵時跳轉的「路徑」。

0

我強烈推薦閱讀這篇文章。它帶有一些可以幫助調試焦點問題的源代碼,我經常最終使用這些代碼來幫助解決我自己的焦點問題。

http://julmar.com/blog/mark/?p=52

+0

鏈接已過時。現在我對內容完全好奇。 – BenL 2016-10-28 19:39:09

相關問題