如何在PhoneApplicationService.Current.State中存储UserControl而不引发In

本文关键字:UserControl In 存储 PhoneApplicationService Current State | 更新日期: 2023-09-27 18:24:07

我将UserControl存储为状态,以便在PhoneApplicationPage中检索(此PhoneApplicationPage可以显示不同的UserControls):

PhoneApplicationService.Current.State["screen"] = new UserControlScreen();

它运行得很好,直到我按下"主页按钮"并抛出这个异常:

System.Runtime.Serialization.InvalidDataContractException: Type System.Windows.UIElement' cannot be serialized.

我读了一些文章,意识到UserControl不能作为Current State存储在PhoneApplicationService中。

是否有方法实现对此用户控件的序列化?

为了解决这个问题,我尝试传递一个包含用户控件类名的字符串,但我也不知道如何从它的类名中添加用户控件。

有人知道如何处理这个问题吗?

如何在PhoneApplicationService.Current.State中存储UserControl而不引发In

PhoneApplicationService.Current.State不用于存储大量数据或整个控件。只需存储控件所需的数据,然后使用它将控件带入所需状态。