用 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 保留的有关其文件夹的其余信息,以便用户可以按日期对目录进行排序。
总结一下我的问题:
DataGrid
可以从 Directory.GetDirectories()
中受益吗?
- 我可以 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>
我正在使用这样的代码:
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 保留的有关其文件夹的其余信息,以便用户可以按日期对目录进行排序。
总结一下我的问题:
DataGrid
可以从Directory.GetDirectories()
中受益吗?- 我可以 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>