在DataGrid中查看文件夹中的文件信息

问题描述 投票:-1回答:1

我想从文件夹中查看文件信息到数据表格。

MainWindow.xaml.vb:我想从文件夹中查看文件信息到数据表格中。

<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>

MainWindow.xaml.vb:

Public Class MusicLibrary
    Private Sub MusicTabHappy_SelectionChanged(sender As Object, e As SelectionChangedEventArgs) Handles MusicTabHappy.SelectionChanged
    (###)
    End Sub

    Public Shared Function GetFileName(path As String) As String
        Dim filename As String = "C:\User\Desktop\A"
        result = path.GetFileName(filename)
        (###)
    End Function
End Class

请帮助我,非常感谢。

wpf vb.net datagrid
1个回答
1
投票

你可以使用 Directory.GetFilesFileInfo API来获取文件的信息。下面的示例设置了 ItemsSourceDataGrid 到一个 IEnumerable(Of FileInfo):

MusicTabHappy.ItemsSource = System.IO.Directory.GetFiles("C:\Temp").Select(Function(fileName)
                                                                               Return New FileInfo(fileName)
                                                                           End Function).ToArray()

然后,您将绑定到的属性。FileInfo 在你的XAML标记中。

<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>
© www.soinside.com 2019 - 2024. All rights reserved.