如何在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
不用于存储大量数据或整个控件。只需存储控件所需的数据,然后使用它将控件带入所需状态。