2016-04-10 3 views
1

у меня есть представление списка с грид-столбцами в окна UserControl с именем файла ListViewModel.xmlWPF ListView - Сложность добавление элементов в виде списка

<GridView.Columns> 
<GridViewColumn Header="Name" Width="120" DisplayMemberBinding="{Binding Name}" /> 
    <GridViewColumn Header="Size" Width="120" DisplayMemberBinding="{Binding Size}" /> 
    <GridViewColumn Header="Type" Width="110" DisplayMemberBinding="{Binding Type}" /> 
     <GridViewColumn Header="Last Modified" Width="170" DisplayMemberBinding="{Binding Modified}" /> 
     </GridView.Columns> 

и я заселение файла каталогов и папок в просмотр списка с помощью этого кода в файле ListViewModel.xml.cs

public void populateListView(string Path) 
    { 
     listView1.Items.Clear(); 

     counter = 0; 
     DirectoryInfo nodeDirInfo = new DirectoryInfo(Path); 

     List<UserList> items; 

     foreach (DirectoryInfo dir in nodeDirInfo.GetDirectories()) 
     { 
      items = new List<UserList>(); 
      items.Add(new UserList() { Name = dir.Name, Size = "", Type = dir.Extension.ToString(), Modified = dir.LastAccessTime.ToString() }); 

     //  listView1.Items.Add(new UserList() { Name = dir.Name, Size = "", Type = dir.Extension.ToString(), Modified = dir.LastAccessTime.ToString() }); 
      listView1.Items.Add(items);            
     }   

     foreach (FileInfo file in nodeDirInfo.GetFiles()) 
     { 
      items = new List<UserList>(); 
      items.Add(new UserList() { Name = file.Name, Size = file.Length.ToString() + " bytes", Type = file.Extension, Modified = file.LastAccessTime.ToString() }); 
      listView1.Items.Add(items);        
     }   
    } 

а путь каталога передается через TreeViewModel.xml.cs ниже

ListViewModel lm = new ListViewModel();        
lm.populateListView(tagName); // tagName is path of directory 

я приказываю данные через UserList.cs в

public class UserList // model containing Properties for ListView 
{ 
    public string Name { get; set; } 

    public string Size { get; set; } 

    public string Type { get; set; } 

    public string Modified { get; set; } 
} 

Но я не могу видеть любое содержимое в списке-View? ЛЮБАЯ ПОМОЩЬ?

ответ

0

При использовании DataColumn Binding вам необходимо установить контекст данных ListView с вашими деталями

listView1.DataContext = items.ToList(); 

вместо использования listview1.Items.Add(...)

+0

до сих пор не удалось получить его. попробовал такой код: items = new List (); items.Add (новый UserList() {Name = dir.Name, Size = "", Type = dir.Extension.ToString(), Modified = dir.LastAccessTime.ToString()}); listView1.DataContext = items.ToList(); –

+0

Может у вас короткая реализация? –

Смежные вопросы