用 Directory.GetDirectories(Path) 在 WPF C# 中填充 DataGrid

Fill DataGrid in WPF C# with Directory.GetDirectories(Path)

我正在使用这样的代码:

var s = Directory.GetDirectories(NAS PATH)

然后我像这样填充DataGrid

RandomDataGridName.ItemsSource = s

我遇到的问题是,当使用 Listbox 时它工作正常但是一旦我使用 DataGrid 我只得到 DataGrid.

中填充的长度

所以我做了以下事情:

<DataGrid.Columns>
    <DataGridTextColumn IsReadOnly="True" Binding="{Binding }" Header="Name"/>
</DataGrid.Columns>

上面的代码有效,但我只得到包含 NAS 中文件夹的完整路径的名称列。

我想要获取标准日期以及 Windows 保留的有关其文件夹的其余信息,以便用户可以按日期对目录进行排序。

总结一下我的问题:

  1. DataGrid 可以从 Directory.GetDirectories() 中受益吗?
  2. 我可以 trim DataGrid 显示路径以便用户看不到目录的完整路径吗?而不仅仅是文件夹的姓氏?

您可以使用 DirectoryInfo 对象获取更多信息:

var folder = new DirectoryInfo(NAS_PATH);
DirectoryInfo[] subdir = folder.GetDirectories();
RandomDataGridName.ItemsSource = subdir;

注意 DirectoryInfo[] 结果(而不是 Directory.GetDirectories 中的 string[],它只是给出路径)

然后配置 DataGrid 以显示相关属性

<DataGrid.Columns>
    <DataGridTextColumn IsReadOnly="True" Binding="{Binding Name}" Header="Name"/>
    <DataGridTextColumn IsReadOnly="True" Binding="{Binding CreationTime}" Header="CreationTime"/>
</DataGrid.Columns>