我创建的WPF软件,并在软件中,用户可以加载图像,并配置一个地图。
基本上,一旦(的地图)中的图像被加载,用户可以添加其它图像(如宝或怪物等的画面)将地图图像内删除它们。
当用户关闭该软件,并重新打开它,我想最后一个图像打开,UI元素的加入是在同一个地方,怎么样在用户已经成立,关闭应用程序前。
我能想到的,是存储在图像文件中的字节数组,或保存文件的位置,并在文本文件中的其他UI元素的位置和每一个应用程序加载时检查的一种方式。
但是,有没有办法解决这个更简单的方法? 有没有一种方法,我可以存储WPF应用程序页面的状态?
也许你可以节省退出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);
}
}