在MainWindow我们有:
<HeaderedContentControl
Content="{Binding Path=Workspaces}"
ContentTemplate="{StaticResource WorkspacesTemplate}"
Header="Workspaces"
Style="{StaticResource MainHCCStyle}"
/>
在资源中:
<DataTemplate x:Key="WorkspacesTemplate">
<TabControl
IsSynchronizedWithCurrentItem="True"
ItemsSource="{Binding}"
ItemTemplate="{StaticResource ClosableTabItemTemplate}"
Margin="4"
/>
</DataTemplate>
并在文章中说:
类型化的 DataTemplate 没有分配给它的 x:Key 值,但它确实将其 DataType 属性设置为 Type 类的实例。如果 WPF 尝试呈现您的 ViewModel 对象之一,它将检查资源系统是否在范围内具有类型化的 DataTemplate,其 DataType 与您的 ViewModel 对象的类型相同(或基类)。如果找到,它将使用该模板来呈现选项卡项的 Content 属性引用的 ViewModel 对象。
我的问题是:
模板如何知道该类型是工作区的集合(WorkspaceViewModel)?