WPF树视图绑定



我有一个具有Parent和Children属性的类。

ADO.NET实体框架分层页面类http://img148.imageshack.us/img148/6802/edmxxe8.gif

我想在WPF树视图中显示这个层次结构。

这是我的XAML。。。

<TreeView Margin="12" Name="TreeViewPages" ItemsSource="{Binding}">
    <TreeView.Resources>
        <HierarchicalDataTemplate DataType="{x:Type Page}" ItemsSource="{Binding Children}">
            <TextBlock Text="{Binding Path=ShortTitle}" />
        </HierarchicalDataTemplate>
    </TreeView.Resources>
</TreeView>

我的VB代码。。。

将数据库Dim为新页面实体Dim t=从p到db。Page.Include("儿童")_Where p.父母什么都不是_选择pTreeViewPages.ItemsSource=t

但我得到了一个包含一个非模板项的树:

PageManager.Page

我需要做些什么才能让它正常工作?

您需要在XAML文件中定义一个到Page类的xmlns映射,并在Type声明中使用它。您没有得到编译错误的原因是Page类已经在WPF中定义。

因此,如果您的Page类是在Zack命名空间中定义的,那么在TreeViewBinding程序集中,您将需要向父容器(很可能是Window)添加以下声明:

xmlns:local="clr-namespace:Zack;assembly=TreeViewBinding"

然后将您的DataTemplate修改为以下内容:

<HierarchicalDataTemplate DataType="{x:Type local:Page}" ItemsSource="{Binding Children}">

我会澄清我的帖子,回答你最初的问题。

相关内容

  • 没有找到相关文章

最新更新