2011-03-15 102 views
0

我想使树视图显示文件系统。Treeview绑定wpf

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> 

回答

1

你可能想看看this article(尤其是 “View实现” 一节)。