好了,所以我认为我可以很容易地实现这一目标,但现在很清楚我错过了一些很大的东西。保存一个对象列表到TXT文件
我有一个名为Oggetto类,Oggetto有一个公共字符串诺姆{获取;集;}和公用字符串Descrizione {获取;集;}
这些被绑定到一个文本框在DataGrid中的单元格这样
<DataGridTemplateColumn Header="Nome" MinWidth="60">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate DataType="{x:Type local:Oggetto}">
<TextBox Text="{Binding Nome}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Header="Descrizione" MinWidth="100">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate DataType="{x:Type local:Oggetto}">
<TextBox Text="{Binding Descrizione}" TextWrapping="Wrap" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
在一个按钮的点击我添加一个空对象到我先前声明如下
List<Oggetto> oggetti = new List<Oggetto>();
添加方法Oggetto的列表执行此
private void btn_AggOgg_Click(object sender, RoutedEventArgs e)
{
oggetti.Add(new Oggetto() { });
dg_Misc.ItemsSource = oggetti;
dg_Misc.Items.Refresh();
dg_Misc.Columns[1].Width = new DataGridLength(1, DataGridLengthUnitType.Star);
dg_Misc.CanUserResizeRows = false;
}
我也有这是否对另一个按钮
public void Salvataggio()
{
StreamWriter sw = new StreamWriter("MiscSave");
foreach(Oggetto oggetto in oggetti)
{
sw.WriteLine(oggetti);
}
sw.Close();
}
的点击保存方法和我的问题是文件MiscSave.txt都是完全空白。 我尝试了几种解决方案,我发现这里和那里,但我似乎无法让他们为我工作。
例如,我甚至不知道将oggetto.Descrizione绑定到TextBlock是否会在更改内部写入内容时发生更改。 我想过像
oggetto.Nome = oggetti[0].Text
但即使在我的脑海它没有很大的意义。
我也不会说英语作为我的主要语言,所以我提前对我犯的任何错误感到抱歉,随时指出它们,但大多可以随意指出我的理解中的漏洞,将列表保存为txt文件。
我试着改变sw.WriteLine(oggetti); line to sw.WriteLine(oggetto.Nome +';'+ oggetto.Descrizione); 但没有任何变化 –
感谢大家的帮助,不喜欢我切换到数据库的txt选项。 –