【发布时间】:2013-06-07 07:57:52
【问题描述】:
在 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)?
【问题讨论】:
标签: c# mvvm datatemplate