2015-09-03 32 views
0

我想創建一個WPF嵌套數據網格,它將具有固定標頭和子標頭。下面是它們都需要創建嵌套的格控制一些要點: -WPF使用固定標頭和子標頭的嵌套數據網格

  1. 主電網行都已數據對齊到主標題列和嵌套網格行將具有對齊到子報頭列中的數據。
  2. 單擊主網格行時,嵌套網格行應顯示對應於子標題列的數據。
  3. 用戶必須能夠展開多個主網格行。

以下是描述我們需要的網格的圖像。

enter image description here

如上述網格所示,灰色的行是對準到主報頭中的主行兩個白行對準子報頭中的子行(operacao,autent。在Hora等)

必須綁定到此控件的集合(主網格)具有另一個集合作爲包含子行(嵌套網格)的行的屬性。

回答

1

此功能可以通過以下層次來實現:

  1. 爲了創造這樣的控制,你將不得不與預期設計創建標籤 從電網分離,並調整其 寬度集合屬性意味着網格 列。
  2. 創建由數據網格繼承的自定義控件,併爲其處理數據網格中的鼠標和鍵事件 。
  3. 在主數據源的主XAML文件中使用此自定義控件,該數值源等於 至主集合(列表),並將網格的列綁定到數據源的 屬性。
  4. 在數據網格內使用數據模板和RowDetailsTemplate ,它將進一步包含自定義控件(數據網格)。
  5. 將主集合中存在的內部集合綁定到此內部自定義控件的 。這就是使用 數據網格組件可以實現嵌套的方式。
  6. 對於展開和摺疊功能,將覆蓋自定義控件的鼠標向下/鼠標向上事件,並處理該控件的行詳細信息 的可見性。這是您可以如何控制網格行的擴展 和摺疊。

您還可以覆蓋點擊事件並處理進一步的導航。另外,爲了實現相同的設計,請在網格列中進行一些調整。您可以通過上述方法實現此行爲。