0

親と子のプロパティを持つクラスがあります。

ADO.NET Entity Framework 階層ページ クラス 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 db As New PageEntities
Dim t = From p In db.Page.Include("Children") _
        p.Parent is Nothing _
        pを選択
TreeViewPages.ItemsSource = t

しかし、テンプレート化されていないアイテムが 1 つあるツリーを取得します。

PageManager.Page

これを機能させるにはどうすればよいですか?

4

1 に答える 1

1

XAML ファイルで Page クラスへの xmlns マッピングを定義し、それを Type 宣言で使用する必要があります。コンパイル エラーが発生しない理由は、Page クラスが WPF で既に定義されているためです。

そのため、Page クラスが TreeViewBinding アセンブリの Zack 名前空間で定義されている場合は、次の宣言を親コンテナー (ほとんどの場合 Window) に追加する必要があります。

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

次に、DataTemplate を次のように変更します。

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

元の質問に対する私の投稿を明確にします。

于 2008-11-07T19:14:35.150 に答える