首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >保存WPF应用程序页的状态

保存WPF应用程序页的状态
EN

Stack Overflow用户
提问于 2012-12-03 05:59:24
回答 1查看 2.5K关注 0票数 1

我正在用WPF创建一个软件,在该软件中,用户可以加载图像,并配置地图。

基本上,一旦(地图的)图像被加载,用户就可以在地图的图像中添加其他图像(如宝藏或怪物的图片等)。

当用户关闭软件并重新打开它时,我希望在关闭应用程序之前,打开最后一个图像,并将添加的UI元素放在相同的位置,就像用户如何设置一样。

我能想到的一种方法是将图像文件存储在字节数组中,或者将文件位置和其他UI元素位置保存在文本文件中,并在每次加载应用程序时对其进行检查。

然而,有没有更简单的方法来解决这个问题呢?是否有一种方法可以存储WPF应用程序页的状态?

EN

回答 1

Stack Overflow用户

发布于 2012-12-03 06:47:47

也许您可以在退出时保存Windows xaml,并在应用程序启动时重新加载。

代码语言:javascript
复制
    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);
        }
    }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13674345

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档