您似乎正在寻找的东西称为 CellTemplateSelector。
看看这个例子:
这应放置在 Window.Resources 中。
<DataTemplate x:Key="DefaultTemplate">
<DataTemplate.Triggers>
<DataTrigger Binding="{Binding Path=Name}" Value="Andre">
<Setter Property="DataGrid.Foreground" Value="Yellow"></Setter>
</DataTrigger>
</DataTemplate.Triggers>
<TextBlock>
<TextBlock.Text>
<Binding Path="Name"/>
</TextBlock.Text>
</TextBlock>
</DataTemplate>
这应该放在 DataGridTemplateColumn 定义中。任何 DataGridColumn 都允许设置 CellTemplateSelector。
<DataGridTemplateColumn.CellTemplateSelector>
<local:TemplateSelector
DefaultTemplate="{StaticResource DefaultTemplate}"
</local:TemplateSelector>
<DataGridTemplateColumn.CellTemplateSelector>
在我给你的例子中,这个人有一个自定义的 TemplateSelector,他在 CellTemplateSelector 中定义如下:<local:TemplateSelector...
要阅读有关 CellTemplateSelector 或一般有关 ContentTemplateSelectors 的更多信息,我建议您查看以下链接:
http://msdn.microsoft.com/en-us/library/system.windows.controls.datagridtemplatecolumn.celltemplateselector%28v=vs.110%29.aspx
http://msdn.microsoft.com/en-us/library/system.windows.controls.contentcontrol.contenttemplateselector%28v=vs.110%29.aspx
最后一个链接有一个 MSDN 示例,您也应该查看它。