Search code examples
c#wpflistviewforeachfileinfo

Add file.Name, file.CreationTime in another columns using ListView with foreach in WPF


I have checked other solutions, but I just can't get it to work!

   DirectoryInfo d = new DirectoryInfo(@leftComboBox.SelectedItem.ToString() + "");
        FileInfo[] files= d.GetFiles("*.*");

        foreach (FileInfo file in files)
        {
            //leftListView.Items.Add(file.Name + " [" + file.CreationTime + "] ");
            var item1 = new ListViewItem(file.Name, file.CreationTime);


        }

Im kinda lost.

      <ListView Name="leftListView" AlternationCount="2"
 Grid.Column="0" Grid.ColumnSpan="4" Margin="10" Background="AliceBlue" BorderBrush="Black" BorderThickness="1" Grid.Row="2" Grid.RowSpan="1"
                 SelectionChanged="leftListView_SelectionChanged"  />

Solution

  • In your XAML file

    <ListView Name="leftListView" AlternationCount="2" Grid.Column="0" Grid.ColumnSpan="4" Margin="10" Background="AliceBlue" BorderBrush="Black" BorderThickness="1" Grid.Row="2" Grid.RowSpan="1">
            <ListView.ItemTemplate>
                <DataTemplate>
                    <Grid Width="500" VerticalAlignment="Center">
    
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="120" />
                            <ColumnDefinition Width="*" />
    
                        </Grid.ColumnDefinitions>
    
                        <TextBlock Grid.Column="0" Text="{Binding Name}" />
                        <TextBlock Grid.Column="1" Text="{Binding CreationTime}" />                        
                    </Grid>
                </DataTemplate>
            </ListView.ItemTemplate>
        </ListView>
    

    In your code .cs file

    DirectoryInfo d = new DirectoryInfo(@"D:\Documents\Company");
            FileInfo[] files = d.GetFiles("*.*");
            leftListView.ItemsSource = files;