Wpf 将文件夹中的文件信息查看到DataGrid中
我想在datagrid中查看文件夹中的文件信息 MainWindow.xaml:Wpf 将文件夹中的文件信息查看到DataGrid中,wpf,vb.net,datagrid,Wpf,Vb.net,Datagrid,我想在datagrid中查看文件夹中的文件信息 MainWindow.xaml: <TabItem Header="Happy" Width="60" Height="30"> <Grid Margin="0,0,0,0"> <DataGrid x:Name="MusicTabHappy" AutoGenerateColumns="False" Margin="10"> <DataGrid.Columns&
<TabItem Header="Happy" Width="60" Height="30">
<Grid Margin="0,0,0,0">
<DataGrid x:Name="MusicTabHappy" AutoGenerateColumns="False" Margin="10">
<DataGrid.Columns>
<DataGridTextColumn Header="File Name"/>
<DataGridTextColumn Header="Time"/>
<DataGridTextColumn Header="Format"/>
<DataGridTextColumn Header="Size"/>
<DataGridTextColumn Header="*"/>
</DataGrid.Columns>
</DataGrid>
</Grid>
</TabItem>
请帮助我,非常感谢。您可以使用
目录.GetFiles
和FileInfo
API获取有关文件的信息。下面的示例将DataGrid
的ItemsSource
设置为IEnumerable(FileInfo)
:
然后,您将绑定到XAML标记中的FileInfo
的属性:
<DataGrid x:Name="MusicTabHappy" AutoGenerateColumns="False" Margin="10">
<DataGrid.Columns>
<DataGridTextColumn Header="File Name" Binding="{Binding Name}"/>
<DataGridTextColumn Header="Time" Binding="{Binding LastAccessTime}"/>
<DataGridTextColumn Header="Format" Binding="{Binding Extension}"/>
<DataGridTextColumn Header="Size" Binding="{Binding Length}"/>
<DataGridTextColumn Header="*" Width="*"/>
</DataGrid.Columns>
</DataGrid>
我想我们这里遗漏了一些东西。文件没有名字或姓氏。你和什么有关?你的函数返回什么?很抱歉,但我担心这个问题需要大量的工作。@Mary Ops很抱歉,我编辑了一个错误,ty用于答复。Sry迟了答复,我测试了您的代码,但我坚持将大小转换为字节。我在上面添加了隐藏代码,里面缺少了一些东西。@QiXuan:这是另一个问题,与你原来的问题没有任何关系。如果您有其他问题,请提出新问题。
MusicTabHappy.ItemsSource = System.IO.Directory.GetFiles("C:\Temp").Select(Function(fileName)
Return New FileInfo(fileName)
End Function).ToArray()
<DataGrid x:Name="MusicTabHappy" AutoGenerateColumns="False" Margin="10">
<DataGrid.Columns>
<DataGridTextColumn Header="File Name" Binding="{Binding Name}"/>
<DataGridTextColumn Header="Time" Binding="{Binding LastAccessTime}"/>
<DataGridTextColumn Header="Format" Binding="{Binding Extension}"/>
<DataGridTextColumn Header="Size" Binding="{Binding Length}"/>
<DataGridTextColumn Header="*" Width="*"/>
</DataGrid.Columns>
</DataGrid>