如何在WPF ListView中显示时间日志的内容
本文关键字:日志 时间 显示 WPF ListView | 更新日期: 2023-09-27 18:00:57
我一直在寻找答案,但真的没有找到。我知道其中的逻辑,但我不知道如何实现它。
这是我的时间日志:
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
我想把它转换成列表视图。真的需要你的帮助。
现在我研究代码,并提出了
命名空间文本文件{
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'系统。Windows。控件。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; }
}
(只需更正属性的名称和类型(。
然后,您需要将这些条目的集合绑定到ListView
的ItemsSource
,并创建一个自定义DataTemplate
来显示每个条目。您可以在本教程中获得一些想法。
如果真的需要将其显示为网格,那么可以考虑使用GridView
。
更新
不要在视图的代码隐藏中创建和添加列表视图项。在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);
}
}
}
}