Древовидная привязка wpf - PullRequest
0 голосов
/ 15 марта 2011

Я хочу сделать древовидное представление, показывающее файловую систему.

public class FileSystem
{
    public IList< Folder> folders;

    public FileSystem()
    {
        foreach (DriveInfo di in DriveInfo.GetDrives())
        {
            Folder f = new Folder(di.Name);
            f.fillSubFolders();
            folders.Add(f);
        }
    }
}

public class FileItem 
{
    public string name;
    public FileItem(string _name)
    {
        name = _name;
    }
}

public class Folder
{
    public string name;
    public IList<Folder> subFolders;
    public IList<FileItem> items;

    public Folder(string _name)
    {
        name = _name;
        subFolders = new List<Folder>();
        items = new List<FileItem>();
    }

    public void fillSubFolders() {
        foreach (string fl in Directory.GetFiles(name))
        {
            FileItem f = new FileItem(fl);
            items.Add(f);
        }
        foreach (string dir in Directory.GetDirectories(name))
        {
            Folder f = new Folder(dir);
            subFolders.Add(f);
            f.fillSubFolders();
        }
    }
}

Что я должен добавить в код XAML для привязки данных?

<TreeView Height="311" HorizontalAlignment="Left" Name="treeView1"   VerticalAlignment="Top" Width="199" ItemsSource="{Binding items}">
        <TreeView.Resources>
            <HierarchicalDataTemplate DataType="{Binding}">

            </HierarchicalDataTemplate>
        </TreeView.Resources>
    </TreeView>

Ответы [ 2 ]

1 голос
/ 15 марта 2011

Возможно, вы захотите посмотреть эту статью (особенно раздел "Просмотр реализации").

0 голосов
/ 15 марта 2011

Ссылка ниже может помочь

http://www.mattlong.com.au/?p=37

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...