列出DataGrid中的目录文件

MCS*_*arp 2 .net c# wpf wpfdatagrid

我搜索了许多主题,但是找不到使用WPF DataGrid列出目录中文件名内容的答案。我能够输出的内容ListBox,但不知道如何将项目添加到ColumnDataGrid

这适用于 ListBox

string path = "C:";

object[] AllFiles = new DirectoryInfo(path).GetFiles().ToArray();

foreach (object o in AllFiles)
{
    listbox.Items.Add(o.ToString());
}
Run Code Online (Sandbox Code Playgroud)

如何使用DataGrid?还是stringsarray到至少一个地方DataGrid Column

dko*_*ozl 5

您可以创建DataGrid一个列:

<DataGrid x:Name="myDataGrid" AutoGenerateColumns="False">
    <DataGrid.Columns>
        <DataGridTextColumn IsReadOnly="True" Binding="{Binding}" Header="Name"/>
    </DataGrid.Columns>
</DataGrid>
Run Code Online (Sandbox Code Playgroud)

并按如下所示将其填写在您的代码中:

myDataGrid.ItemsSource = new DirectoryInfo(path).GetFiles();
Run Code Online (Sandbox Code Playgroud)

通过设置ItemsSource为,FileInfo[]您可以选择创建绑定到FileInfo类其他属性的其他列。这DataGrid将与IEnumerable分配给的任何对象一起使用ItemsSource。如果不是string已经存在,那么ToString()将被称为