• WPF TreeView遍历硬盘


    <Window x:Class="TreeFileSystem.MainWindow"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            Title="MainWindow" Height="350" Width="525">
        <Grid>
            <TreeView Name="treeFileSystem" TreeViewItem.Expanded="treeFileSystem_Expanded_1">
                
            </TreeView>
        </Grid>

    </Window>


    using System;
    using System.Collections.Generic;
    using System.IO;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows;
    using System.Windows.Controls;
    using System.Windows.Data;
    using System.Windows.Documents;
    using System.Windows.Input;
    using System.Windows.Media;
    using System.Windows.Media.Imaging;
    using System.Windows.Navigation;
    using System.Windows.Shapes;


    namespace TreeFileSystem
    {
        /// <summary>
        /// Interaction logic for MainWindow.xaml
        /// </summary>
        public partial class MainWindow : Window
        {
            public MainWindow()
            {
                InitializeComponent();
                foreach (DriveInfo drive in DriveInfo.GetDrives())
                {
                    TreeViewItem item = new TreeViewItem();
                    item.Tag = drive;
                    item.Header = drive.ToString();


                    item.Items.Add("*");
                    treeFileSystem.Items.Add(item);
                }
            }


            private void treeFileSystem_Expanded_1(object sender, RoutedEventArgs e)
            {
                TreeViewItem item = (TreeViewItem)e.OriginalSource;
                item.Items.Clear();
                DirectoryInfo dir;
                if (item.Tag is DriveInfo)
                {
                    DriveInfo drive = (DriveInfo)item.Tag;
                    dir = drive.RootDirectory;
                }
                else
                {
                    dir = (DirectoryInfo)item.Tag;
                }
                try
                {
                    foreach (DirectoryInfo subDir in dir.GetDirectories())
                    {
                        TreeViewItem newItem = new TreeViewItem();
                        newItem.Tag = subDir;
                        newItem.Header = subDir.ToString();
                        newItem.Items.Add("*");
                        item.Items.Add(newItem);
                    }
                }
                catch
                {


                }
            }
        }
    }

  • 相关阅读:
    ZOJ4134 Unrooted Trie(dfs序+线段树)
    ZOJ4127 Grid with Arrows(欧拉路径的判断)
    CF1037E Trips(思维)
    django学习第十四天--Forms和ModelForm
    django学习第十三天--自定义中间件
    图书管理系统---基于ajax删除数据
    django学习第十二天--ajax请求和csrftoken认证的三种方式
    django中修改QueryDict数据类型和转成普通字典
    图书管理系统进阶---多表操作
    locals()用法
  • 原文地址:https://www.cnblogs.com/dxmfans/p/9434661.html
Copyright © 2020-2023  润新知