这是一种设计问题而不是问题。
在我的应用程序视图中,我有一个DataGrid
,其中包含很多列。 columndefinitions的代码行高于1000.这通过非常大的DataGridTemplateColumn
- 具有不同单元格和CellEditingTemplate
s的定义等等。
由于有几个人同时在这个视图上工作,我们经常需要合并,我想知道是否有办法让这个变得更简单。
我现在的想法是将一些(或所有)列移到ResourceDictionary
。
但是,如果我将所有列定义移动到相同的ResourceDictionary
,我仍然遇到问题,如果我们想要签入TFS,我们经常需要合并。
现在我考虑将每个DataGridTemplateColumn
移动到单独的ResourceDictionary
,但我不确定这是否是解决此问题的好方法。你怎么看?有什么建议吗?
一些DataGridTemplateColumn
- 定义超过100行。
答案 0 :(得分: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>
另外,请记住,列实际上是一个包含数据网格的集合,因此,如果有许多列需要重用,则可以实际创建包含所有公共列的基本网格,然后使用控件中的基本网格,在您的控件中,您可以根据需要添加特定列。