如何在WPF ListView中显示时间日志的内容?

我一直在寻找答案,但我还没找到答案。 我知道逻辑,但我不知道如何实现它。

这是我的时间日志:

No Mchn EnNo Name Mode IOMd DateTime 00001 1 00001234 1 0 2004/01/01 01:01 00002 1 00001234 1 0 2015/05/12 04:01 00003 1 00001234 2 0 2015/05/12 04:01 00004 1 00001234 1 0 2004/01/01 01:01 00005 1 00001234 1 0 2015/05/13 10:42 

我想将其转换为列表视图。 真的需要你的帮助。

现在我处理代码,我想出了这个,

namespace textfile {

 public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } private void LoadButton(object sender, RoutedEventArgs e) { foreach (string line in File.ReadAllLines(@"GLG_001.TXT")) ListView.Items.Add(new ListViewItem(line)); } } } 

但是发生了错误。 它说,错误1’System.Windows.Controls.ListViewItem’不包含带有1个参数的构造函数D:\ Documents \ Desktop \ textfile \ textfile \ MainWindow.xaml.cs 33 36 textfile

为每个条目创建一个类,类似这样

 internal class TimeLogEntryViewModel { public string Id { get; set; } public string Mchn { get; set; } public string EnNo { get; set; } public string Name { get; set; } public string Mode { get; set; } public string IOMd { get; set; } public DateTime DateTime { get; set; } } 

(只需更正属性的名称和类型)。

然后,您需要将此类条目的集合绑定到ListViewItemsSource ,并创建自定义DataTemplate以显示每个条目。 您可以在本教程中获得一些想法。

如果确实需要将其显示为网格,请考虑使用GridView

UPDATE

不要在视图后面的代码中创建和添加列表视图项。 在WPF中,您应该遵循MVVM模式。 你可以从这里开始。

这是我的答案:

 namespace textfile { public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } private void LoadButton(object sender, RoutedEventArgs e) { foreach (string line in File.ReadAllLines(@"GLG_001.TXT")) { var listViewItem = new ListViewItem(); listViewItem.Content = line; ListView.Items.Add(listViewItem); } } } }