0

WPFについて学び始めました。そして、私は単純なItemStructureCreatorを構築することを選択しました。
私もMVVMパターンを使用しています。
いくつかのクラスを実装しましたが、TreeViewに適切にバインドする際に問題が発生しました。

これが私のクラス診断です

ここで、StructureManagerViewにTreeViewコントロールを構造に関連付けてもらいたいと思います。
私はそれを次のようにバインドしようとしました:

    <TreeView Name="tree" DataContext="{Binding MainItem}" Grid.Column="0" Background="Beige">
        <TreeView.ItemTemplate>
            <HierarchicalDataTemplate ItemsSource="{Binding Item.Children}">
                <TextBlock Text="{Binding Item.Code}" HorizontalAlignment="Stretch"/>
            </HierarchicalDataTemplate>
        </TreeView.ItemTemplate> 
    </TreeView>

ItemsSourceまたはこのように(ここでは、プロパティがコレクションを期待しているため、間違っていると思います):

    <TreeView Name="tree" ItemsSource="{Binding MainItem}" Grid.Column="0" Background="Beige">
        <TreeView.ItemTemplate>
            <HierarchicalDataTemplate ItemsSource="{Binding Item.Children}">
                <TextBlock Text="{Binding Item.Code}" HorizontalAlignment="Stretch"/>
            </HierarchicalDataTemplate>
        </TreeView.ItemTemplate> 
    </TreeView>

Bindigs正しく設定するのを手伝ってくれませんか。

よろしく、ドミトリー。

4

1 に答える 1

2

私のコメントを答えに変換する:

TreeViewには「メインアイテム」の概念はありません。

TreeView自体のItemsSourceプロパティをバインドする必要があります。

ItemsSource="{Binding MainItem}"

に置き換える必要があります

ItemsSource="{Binding MainItems}"

ここで、MainItemsはIEnumerableです。

于 2013-02-05T16:15:07.680 に答える