我正在用WPF创建一个软件,在该软件中,用户可以加载图像,并配置地图。
基本上,一旦(地图的)图像被加载,用户就可以在地图的图像中添加其他图像(如宝藏或怪物的图片等)。
当用户关闭软件并重新打开它时,我希望在关闭应用程序之前,打开最后一个图像,并将添加的UI元素放在相同的位置,就像用户如何设置一样。
我能想到的一种方法是将图像文件存储在字节数组中,或者将文件位置和其他UI元素位置保存在文本文件中,并在每次加载应用程序时对其进行检查。
然而,有没有更简单的方法来解决这个问题呢?是否有一种方法可以存储WPF应用程序页的状态?
发布于 2012-12-03 06:47:47
也许您可以在退出时保存Windows xaml,并在应用程序启动时重新加载。
public MainWindow()
{
InitializeComponent();
Loaded += new RoutedEventHandler(MainWindow_Loaded);
Closing += new CancelEventHandler(MainWindow_Closing);
}
void MainWindow_Loaded(object sender, RoutedEventArgs e)
{
LoadExternalXaml();
}
void MainWindow_Closing(object sender, CancelEventArgs e)
{
SaveExternalXaml();
}
public void LoadExternalXaml()
{
if (File.Exists(@"C:\Test.xaml"))
{
using (FileStream stream = new FileStream(@"C:\Test.xaml", FileMode.Open))
{
this.Content = XamlReader.Load(stream);
}
}
}
public void SaveExternalXaml()
{
using (FileStream stream = new FileStream(@"C:\Test.xaml", FileMode.Create))
{
XamlWriter.Save(this.Content, stream);
}
}https://stackoverflow.com/questions/13674345
复制相似问题