WPF从数据库填充TreeView

时间:2015-05-22 09:22:11

标签: c# wpf xaml mvvm treeview

我在使用MVVM设计模式在WPF中使用TreeView时遇到一个问题。我找到了一个帮助我理解主体的解决方案,但是当我在项目中应用它时,我无法获得所需的结果。这篇文章是this one

我的基类是:

public class ClientTreeViewProducts
{
    public List<ClientTreeViewProducts> Items { get; set; }
    public string Name { get; set; }
}

在ViewModel中,我有一个公共属性,它绑定到TreeView的ItemsSource属性:

private List<ClientTreeViewProducts> _treeViewSource;
public List<ClientTreeViewProducts> TreeViewSource 
{
    get { return _treeViewSource; }
    set
    {
        if(_treeViewSource!=value)
        {
            _treeViewSource = value;
            RaisePropertyChanged("TreeViewSource");
        }
    }
}

我有一个填充List的函数,似乎没问题。

最后,我的xaml管理绑定和HierarchicalDataTemplate

<TreeView ItemsSource="{Binding TreeViewSource}">
    <TreeView.ItemContainerStyle>
        <Style TargetType="{x:Type TreeViewItem}">
            <Setter Property="IsExpanded" Value="True"/>
        </Style>
    </TreeView.ItemContainerStyle>
    <TreeView.ItemTemplate>
        <HierarchicalDataTemplate DataType="{x:Type helpers:ClientTreeViewProducts}"
                                  ItemsSource="{Binding Items}">
            <TextBlock Text="{Binding Name}"/>
        </HierarchicalDataTemplate>
    </TreeView.ItemTemplate>
</TreeView>

问题是当我在TreeViewSource属性中填充一些数据时,树视图保持为空(视觉上)。有人可以找到问题所在,因为我对这个问题持续了3天。

提前谢谢!

0 个答案:

没有答案