Wpf 将文件夹中的文件信息查看到DataGrid中

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&

我想在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>
                <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>