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 回答