我的界面:
public interface IWorkAreaTreeViewItem
{
string Text { get; }
int? Status { get; }
ObservableCollection<IWorkAreaTreeViewItem> Children { get; }
IEntityViewModel ViewModel { get; }
}
我的xaml
<TreeView Name="treeView" ItemsSource="{Binding Source={StaticResource treeViewItemsViewSource}}">
<TreeView.ItemTemplate>
<HierarchicalDataTemplate DataType="{x:Type viewModel:IWorkAreaTreeViewItem}" ItemsSource="{Binding Path=Children}">
<StackPanel Orientation="Horizontal">
<Image Height="{Binding FontSize, ElementName=treeView}" Stretch="Fill" >
<Image.Source>
<MultiBinding Converter="{StaticResource statusToImageSourceConverter}">
<Binding Path="Status" />
<Binding Path="ViewModel"/>
</MultiBinding>
</Image.Source>
</Image>
<TextBlock Text="{Binding Path=Text}" VerticalAlignment="Center"/>
</StackPanel>
</HierarchicalDataTemplate>
</TreeView.ItemTemplate>
</TreeView>
当我从IWorkAreaTreeViewItem
推导出TreeViewItem
的实施时,TreeView
中的结构没问题,但这些项目只显示TreeViewItem.Header
的内容。
当我不从TreeViewItem
派生时,一切都很好。每个项目都显示图像和文字。
我做错了吗?