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 オブジェクトの 1 つをレンダリングしようとすると、リソース システムのスコープ内に型指定された DataTemplate があり、その DataType が ViewModel オブジェクトの型と同じ (またはその基本クラス) であるかどうかがチェックされます。見つかった場合は、そのテンプレートを使用して、タブ項目の Content プロパティによって参照される ViewModel オブジェクトをレンダリングします。
私の質問は:
テンプレートは、型がワークスペース (WorkspaceViewModel) のコレクションであることをどのように認識しますか?