如何使用WPF的StreamReader编辑读取的数据

时间:2018-12-30 21:24:49

标签: c# wpf streamreader

我已经使用StreamReader读取了CSV文件。读取文件很容易,我有4列,每列都是一个字符串,但是其中一列(只有这一点很重要)的格式为“ 33 kg”,第一行是标题。我想删除第一行和B列中所有单元格的“ kg”(其int)。在WindowsForms中,我可以执行此操作,但是我不确定如何在WPF中执行此操作。

private void DataGrid_Loaded(object sender, RoutedEventArgs e)
    {
        // ... Get data.
        var patients = new List<Patient>();
        using (StreamReader reader = new StreamReader("FHDEGG.txt"))
        {
            while (true)
            {
                string line = reader.ReadLine();
                if (line == null)
                {
                    break;
                }
                patients.Add(new Patient(line));
            }
        }

        // ... Set field.
        this._list = patients;

        // ... Use ItemsSource.
        var grid = sender as DataGrid;
        grid.ItemsSource = patients;
}

1 个答案:

答案 0 :(得分:0)

WinForms和WPF之间的主要区别是绑定机制,该机制使我们能够将ui逻辑与域逻辑和业务逻辑分开。了解有关MVVM模式的信息。

关于制动MVVM模式,在您的情况下,您需要为DataGrid列创建自己的数据模板(以xaml格式),然后创建转换器,该转换器将转换您的值“ 12 kg” =>“ 12”

**编辑 我忘记了第一行-您无法将其传递给ItemsSource :),我是如何编写的来创建自己的列模板并指定标题。 在这里https://www.wpf-tutorial.com/datagrid-control/custom-columns/