我将树视图绑定到一个项目类型为ContentControl的集合。 我的分层数据模板(以及样式)不会应用于项目。
<TreeView Name="tvCategories" ItemsSource="{Binding Items}">
<TreeView.Resources>
<HierarchicalDataTemplate DataType="{x:Type EmailClient:EmailFolder}" ItemsSource="{Binding Messages}">
<StackPanel Orientation="Horizontal">
<Image Source="{Binding ImageSource}" Stretch="Fill" Width="{Binding RelativeSource={RelativeSource Self}, Path=Source.PixelWidth}" Height="{Binding RelativeSource={RelativeSource Self}, Path=Source.PixelHeight}" SnapsToDevicePixels="True"/>
<TextBlock Text="{Binding Title}" />
</StackPanel>
</HierarchicalDataTemplate>
</TreeView.Resources>
DataTemplate本身是正确的 - 如果我将它用作Treeview.ItemTemplate,那么一切都还可以。如果我的项目不是ContentControl的后代,那么一切都还可以。
为什么会这样?