コメントで述べたように、あなたの質問は少しあいまいですが、ここであなたが分離ストレージ内のデータを含むファイルを作成するために、バイナリシリアル化を使用してのために働いた例です(MSDN Isolated Storageを参照)
私はあなたには、いくつかを持っていると仮定あなたのDataGrid
のバッキングクラスの一種です。この場合、Contactというクラスを作成しました。 [Serializable]
属性に注意してください。
[Serializable]
public class Contact {
public String Name { get; set; }
public String Number { get; set; }
public Contact(String name, String number) {
Name = name;
Number = number;
}
}
私は、これらのリストを持っている:
private List<Contact> contacts;
あなたのWindow
のOnClosing
メソッドをオーバーライドして、ファイルまでデータを保存することができます
protected override void OnClosing(CancelEventArgs e) {
base.OnClosing(e);
using (IsolatedStorageFile isoStore = IsolatedStorageFile.GetStore(IsolatedStorageScope.User | IsolatedStorageScope.Domain | IsolatedStorageScope.Assembly, null, null)) {
if (isoStore.FileExists("contacts.dat")) {
// We already have an old one, delete it
isoStore.DeleteFile("contacts.dat");
}
using (IsolatedStorageFileStream fs = isoStore.CreateFile("contacts.dat")) {
BinaryFormatter bf = new BinaryFormatter();
bf.Serialize(fs, contacts);
}
}
}
最後に、必要な初期化を行った後で、このファイルを探して連絡先を復元することができますw。
using (IsolatedStorageFile isoStore = IsolatedStorageFile.GetStore(IsolatedStorageScope.User | IsolatedStorageScope.Domain | IsolatedStorageScope.Assembly, null, null)) {
if (isoStore.FileExists("contacts.dat")) {
IsolatedStorageFileStream fs = isoStore.OpenFile("contacts.dat", System.IO.FileMode.Open);
BinaryFormatter bf = new BinaryFormatter();
contacts = (List<Contact>) bf.Deserialize(fs);
}else {
// We don't have a backup file, create some dummy entries
contacts = new List<Contact>();
contacts.Add(new Contact("John Smith", "1234567"));
contacts.Add(new Contact("Emma Brown", "7654321"));
}
}
MyDataGrid.ItemsSource = contacts;
初めて完成したアプリを完成させていただきありがとうございます。残念ながら、あなたの質問は答えが簡単ではありません。なぜなら、それはどんな詳細も提供しないからです。 [尋ねる]。あなたは、あなたのデータ構造を記述する少なくともいくつかのコードを投稿する必要があります。 [ツアー] – dasblinkenlight
そして、どこにデータを保存したいですか?データベース?ディスク?どの形式ですか? –
errr、それは数百行でかなり大きいですが、基本的にユーザーからの入力を受け取り、それをDataGridに入れます。また、Nawed Nabi Zada(クールな名前btw:o)は、保存ファイルとしてディスクに保存してからアプリケーションをロードするのが最も簡単だと思います。 –