我想查找一个不是我的项目中HeaderedContentControl中的项来自哪里。这是代码:
<HeaderedContentControl
Content="{Binding Path=Workspaces}"
ContentTemplate="{StaticResource WorkspacesTemplate}"
Header="Workspaces"
Style="{StaticResource MainHCCStyle}"
DataContext="{Binding}" // <--- this
/>
<DataTemplate x:Key="WorkspacesTemplate">
<TabControl
IsSynchronizedWithCurrentItem="True"
ItemsSource="{Binding}"
ItemTemplate="{StaticResource ClosableTabItemTemplate}"
Margin="4"
/>
那么让我们来看一下:
- ContentTemplate属性描述了如何显示项目。
- WorkspacesTemplate将ItemsSource的属性设置为{Binding},意味着它绑定到其DataContext属性(HeaderedContentControl的DataContext)
- 因此,我查看了HeaderedContentControl的DataContext,但它也被描述为“{Binding}”...
这是什么意思?
DataContext =“{Binding}”
始终是多余的。任何声称知道“有效用例”的人都应该更具体,最好只是展示它。 - Clemens