2015-11-02 24 views
0

這是一種設計問題,而不是問題。ResourceDictionaries中的DataGridColumns

在我的應用程序的視圖中,我有一個DataGrid與很多列。列定義的代碼行高於1000.這通過非常大的DataGridTemplateColumn - 定義不同的單元格和CellEditingTemplate s等等。

通過這個事實,有幾個人同時在這個視圖上工作,我們經常需要合併,我想知道是否有辦法讓這個更簡單。

我現在的想法是將一些(或全部)列移動到ResourceDictionary

但是,如果我將所有列定義移動到同一ResourceDictionary我仍然有問題,我們經常必須合併,如果我們要檢入到TFS。

現在我想將每個DataGridTemplateColumn移動到一個單獨的ResourceDictionary,但我不確定這是否是解決此問題的好方法。你怎麼看?任何建議?

部分DataGridTemplateColumn - 定義超過100行。

回答

0

你可以有資源列這樣的 -

<DataGridTemplateColumn x:Key="SharedColumn1" x:Shared="False" Header="1" Width="Auto"> 
    <DataGridTemplateColumn.CellTemplate> 
     <DataTemplate> 
      <TextBlock Text="Hello"/> 
     </DataTemplate> 
    </DataGridTemplateColumn.CellTemplate> 
</DataGridTemplateColumn> 

,然後在數據網格像這樣使用它...

<DataGrid ItemsSource="{Binding}"> 
     <DataGrid.Columns> 
      <StaticResource ResourceKey="SharedColumn1"/> 
      <DataGridTemplateColumn Header="YourCustomColumn"/> 
     </DataGrid.Columns> 
</DataGrid> 

另外,請記住,列實際上是爲因此如果需要重複使用很多列,您可以創建一個包含所有常用列的基本網格,然後在控件中使用該基本網格,並且在您控制之下,您可以添加您可能需要的特定列。

+0

是的,我知道。我想知道是否將每個columndefinition移動到單獨的ResourceDictionary中是一種好方法 – Tomtom

+0

爲什麼每個列都有一個單獨的字典? – Muds

+0

因爲一列的定義超過100行 – Tomtom

相關問題