我的代码如下所示:
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);
}
}
上面的代码用于将数据保存到独立存储中。