用Directory.GetDirectories(Path)填充WPF c#中的DataGrid



我使用的代码是这样的:

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. 我可以修剪DataGrid显示的路径,这样用户就不会看到目录的完整路径;而不仅仅是文件夹的姓氏?

您可以使用DirectoryInfo object:

获取更多信息
var folder = new DirectoryInfo(NAS_PATH);
DirectoryInfo[] subdir = folder.GetDirectories();
RandomDataGridName.ItemsSource = subdir;

注意DirectoryInfo[]result(而不是string[]from Directory)。

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

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

最新更新