我有一個場景,我想在Silverlight 3中的DataGrid中顯示分層數據,同時使標題行仍具有標準的單元格集並且可以編輯。用戶需要能夠摺疊和展開行以隱藏子行。Silverlight DataGrid導航和隱藏行
我已經完成了這項工作,每個父行上都有一個按鈕,它看起來像崩潰或擴展字形,取決於它的狀態。點擊它可以處理其子行的數據項屬性。每行的可見性都綁定到數據項的這個屬性。
這個工作有點體面,雖然它的網格渲染更多的列比它需要的性能問題。
我現在的問題是,當用戶在鍵盤上打開或關閉時,他們能夠導航到隱藏的行。
例如,如果我有像
1父的結構(膨脹,可見光)
1A(可見)
1B(可見)
2 Parent(主摺疊,可見)
2A(隱藏)
3父(膨化,可見光)
3a中(可見)
如果我已經[2父]中選擇和予按下向下箭頭上儘管[2a]的行可見性設置爲Visibility.Collapsed,但我希望該選擇可以轉到[3 Parent],但它會轉到[2a]。
我希望能夠攔截鍵盤事件(通過類似不存在的PreviewKeyDown事件)並自己處理它或找到一些方法來欺騙DataGrid的內部移動到正確的項目。
在這一點上,我相當投資於調整隱藏這些項目的行可見性。
任何想法?