6
您好我有一个datagrid有一个datagridtemplate列的数量都是相同的,他们都在模板的stackpanel上有不同的datacontext。WPF DataGridTemplateColumn共享模板?
<toolkit:DataGridTemplateColumn Header="Col 1">
<toolkit:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<StackPanel DataContext="{Binding Times[0]}">
<!-- the structure that I want to extract to a template -->
</StackPanel>
</DataTemplate>
</toolkit:DataGridTemplateColumn.CellTemplate>
</toolkit:DataGridTemplateColumn>
<toolkit:DataGridTemplateColumn Header="Col 2">
<toolkit:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<StackPanel DataContext="{Binding Times[1]}">
<!-- the same structure here -->
</StackPanel>
</DataTemplate>
</toolkit:DataGridTemplateColumn.CellTemplate>
</toolkit:DataGridTemplateColumn>
我想有每列使用特定的ItemTemplate(就像我有一个列表框完成),但似乎无法看到,除非我失去了一些东西。
感谢那就是我一直在寻找。我创建了模板,但不知道ContentPresenter在列中显示它。 最后一件事,你知道我可以如何替换这些模板列的背景颜色吗? 再次感谢。 – obaylis 2010-06-15 13:27:43
@obaylis:我认为你可以在DataGrid上设置AlternatingRowBackground属性。如果你需要更复杂的东西,你可以设置AlternationCount,然后使用AlternationIndex。以下是一篇博客文章,介绍如何设置DataGrid的样式:http://blogs.msdn.com/b/jaimer/archive/2009/01/20/styling-microsoft-s-wpf-datagrid.aspx – Quartermeister 2010-06-15 14:44:21