我使用的代码是这样的:
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()
中获益?- 我可以修剪
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>