2015-08-07 3 views
1

Я хочу создать список файлов на диске для дальнейшей обработки, если это выбрано. Поэтому я создал список с именами столбцов, датой и размером. Я затем загрузить ListView с помощью следующей функции:Добавление элементов в ListView в C# в приложении WPF

private void Window_Loaded(object sender, RoutedEventArgs e) 
{ 
    foreach (string s in Directory.GetLogicalDrives()) 
    { 
     filelist.Items.Add(s); 
    } 
} 

Этот список дисков в системе, чтобы начать это хорошо, но то, что отображается на экране

filename date size 
c:\  c:\ c:\ 
d:\  d:\ d:\ 

Итак, мой вопрос, как установить дату и размер подколонки на "" или " "?

ответ

2

Вам, кажется, есть чему поучиться, поэтому я просто дам вам несколько подсказок, чтобы вы начали, потому что иначе этот ответ будет слишком длинным.

У вас есть 3 столбца, и каждый из них получает данные от одного и того же объекта (строки).

Создайте новый класс, который будет содержать данные для 3-х колонка:

class Drive 
{ 
    public string Name { get; set; } 
    public string Date { get; set; } 
    public string Size { get; set; } 
} 

Затем замените это:

foreach (string s in Directory.GetLogicalDrives()) 
{ 
    filelist.Items.Add(s); 
} 

с этим, который будет генерировать элементы данных:

var drives = Directory.GetLogicalDrives().Select(d => new Drive { Name = d }); 

foreach (var drive in drives) 
{ 
    MyListView.Items.Add(drive); 
} 

Настройте свой ListView таким образом, чтобы каждый столбец получал данные из своей собственной опоры в каждой позиции:

<ListView x:Name="MyListView"> 
    <ListView.View> 
     <GridView> 
      <GridView.Columns> 
       <GridViewColumn Header="filename" DisplayMemberBinding="{Binding Name}"/> 
       <GridViewColumn Header="date" DisplayMemberBinding="{Binding Date}"/> 
       <GridViewColumn Header="size" DisplayMemberBinding="{Binding Size}"/> 
      </GridView.Columns> 
     </GridView> 
    </ListView.View> 
</ListView> 
+0

спасибо, что проблема решена ... – quincy451