我将一个树视图绑定到一个集合,其中项目的类型是 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 的后代,那么一切都会再次正常。
为什么会这样?