Как редактировать прочитанные данные с помощью StreamReader, WPF - PullRequest
0 голосов
/ 31 декабря 2018

Я прочитал файл CSV с помощью StreamReader.Читать файл легко, у меня есть 4 столбца, каждый из которых представляет собой строку, но один (только это важно) имеет форму «33 кг», а первый ряд - заголовок.Я хочу удалить первую строку и «кг» (его int) всех ячеек в столбце B. В 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 голосов
/ 31 декабря 2018

Основным отличием WinForms от WPF является механизм привязки, позволяющий отделить логику пользовательского интерфейса от предметной и бизнес-логики.Прочитайте о шаблоне MVVM.

Что касается шаблона торможения MVVM, в вашем случае вам необходимо создать собственный шаблон данных для столбцов DataGrid (в xaml), а затем создать конвертер, который преобразует ваше значение "12 kg" => "12 "

** edit Я забыл о первой строке - вы не можете передать ее в ItemsSource :), Как я написал, создайте свои собственные шаблоны столбцов и укажите заголовки.Смотрите здесь https://www.wpf -tutorial.com / datagrid-control / custom-columns /

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...