我在这里实现了CustomDataTemplateSelector:实现 Windows Phone 7 DataTemplateSelector 和 CustomDataTemplateSelector。但在我的解决方案中,只有一个部分在所有 DataTemplates 中发生变化,DataTemplates 的其他部分很常见:
<local:MyTemplateSelector Content="{Binding}">
<local:MyTemplateSelector.OneTemplate>
<DataTemplate>
<Grid Orientation="Horizontal" >
<Grid x:Name="Grid1">
<Image Height="60" Width="60" Source="{Binding Photo}"/>
</Grid>
<Grid>
<TextBlock Text="{Binding TextValue1}">
<TextBlock Text="{Binding TextValue2}">
</Grid>
</Grid>
</DataTemplate>
</local:MyTemplateSelector.OneTemplate>
<local:MyTemplateSelector.AnotherTemplate>
<DataTemplate>
<Grid Orientation="Horizontal" >
<Grid x:Name="Grid2">
<Image Height="30" Width="60" Source="{Binding Photos[0]}"/>
<Image Height="30" Width="60" Source="{Binding Photos[1]}"/>
</Grid>
<Grid>
<TextBlock Text="{Binding TextValue1}">
<TextBlock Text="{Binding TextValue2}">
</Grid>
</Grid>
</DataTemplate>
</local:MyTemplateSelector.AnotherTemplate>
</local:MyTemplateSelector>
这里Grid1和Grid2是不同的部分。是否可以“拆分”这些数据模板?