从TreeViewItem派生的类在HierarchicalDataTemplate

时间:2016-08-05 09:30:33

标签: c# wpf treeview hierarchicaldatatemplate

我的界面:

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派生时,一切都很好。每个项目都显示图像和文字。

我做错了吗?

0 个答案:

没有答案