私のコードは以下のようになります:
private void LayoutRoot_Loaded(object sender, System.Windows.RoutedEventArgs e)
{
// TODO: Add event handler implementation here.
try
{
string fileName = NavigationContext.QueryString["id"];
DataSaver<SampleData> mypersonaldata = new DataSaver<SampleData>();
var PersonData = mypersonaldata.LoadMyData(fileName);
txtName.Text = PersonData.Name;
txtAge.Text = PersonData.Age;
txtheight.Text = PersonData.Height;
txtMammals.Text = PersonData.FavMammals;
txtBirds.Text = PersonData.FavBirds;
txtReptiles.Text = PersonData.FavReptiles;
}
catch
{
MessageBox.Show("Unable to read!");
}
}
データをロードするための私のコードは次のとおりです。
public MyDataType LoadMyData(string sourceName)
{
MyDataType retVal = default(MyDataType);
string TargetFileName = String.Format("{0}/{1}.dat", TargetFolderName, sourceName);
if (IsoFile.FileExists(TargetFileName))
using (var sourceStream = IsoFile.OpenFile(TargetFileName, FileMode.Open))
{
retVal = (MyDataType)_mySerializer.ReadObject(sourceStream);
}
return retVal;
}
DataSaver.cs と SampleData.cs のメンバーにアクセスできます。正しいファイル名も取得していますが、データを読み取ることができません。助けてください!
public void SaveMyData(MyDataType sourceData)
{
string TargetFileName = String.Format("{0}/{1}.dat", TargetFolderName, targetFileName);
if (!IsoFile.DirectoryExists(TargetFolderName))
IsoFile.CreateDirectory(TargetFolderName);
try
{
using (var targetFile = IsoFile.CreateFile(TargetFileName))
{
_mySerializer.WriteObject(targetFile, sourceData);
}
}
catch (Exception e)
{
IsoFile.DeleteFile(TargetFileName);
}
}
上記のコードは、Isolated Storage にデータを保存するためのものです。