我已经使用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;
}
答案 0 :(得分:0)
WinForms和WPF之间的主要区别是绑定机制,该机制使我们能够将ui逻辑与域逻辑和业务逻辑分开。了解有关MVVM模式的信息。
关于制动MVVM模式,在您的情况下,您需要为DataGrid列创建自己的数据模板(以xaml格式),然后创建转换器,该转换器将转换您的值“ 12 kg” =>“ 12”
**编辑 我忘记了第一行-您无法将其传递给ItemsSource :),我是如何编写的来创建自己的列模板并指定标题。 在这里https://www.wpf-tutorial.com/datagrid-control/custom-columns/