好了,所以我認爲我可以很容易地實現這一目標,但現在很清楚我錯過了一些很大的東西。保存一個對象列表到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選項。 –