我使用IsolatedStorage来保存使用这种approach的WPF应用程序的窗口位置( Windows.Top和Window.Left)。
现在,我想要保存一个Brush,它始终保存在IsolatedStorage中。它可以是基于用户选择的SolidColorBrush或LinearGradientBrush。
对于SolidColorBrush,我只能保存RGB Color的3个值,但是如何处理LinearGradientBrush呢?
我认为序列化Brush对象是可能的,但是我真的被卡住了。
现在我的问题是:在IsolatedStorage中保存画笔是可能的
我选择使用IsolatedStorage,因为我的应用程序需要是一个单独的可执行文件,而不需要安装(它是通过一个自定义的软件分发程序分发给客户机的),通常是从桌面执行的。应用程序向具有正确凭据的用户提供有关Active Directory用户的信息。
编辑:
欢迎提供任何其他用于保存用户定制的解决方案!
发布于 2012-06-09 07:19:39
画笔和其他半本机绘图对象是不可序列化的。因此,您将无法将它们存储在任何持久存储或进程外存储中。
由于您的对象集看起来很有限,因此获取所有属性并手动存储它们应该很容易。可以选择创建可序列化的帮助器/包装器类,这些类可以存储在流中并充当相应类型的工厂。
发布于 2012-06-09 16:43:29
首先,我不会使用IsolatedStorage,而是使用用户范围的设置来存储这种信息。第二,如果你不能序列化笔刷,你可以保存用户输入的任何信息,以便选择或创建笔刷:如果他们只是从现有资源中选择笔刷,保存这些资源的关键点,如果他们可以输入RGB值来选择颜色,保存RGB值,无论他们做什么来定义LinearGradientBrush,只保存他们的输入值。
https://stackoverflow.com/questions/10956723
复制相似问题