1

我曾经使用这种方法来保存我的 WPF 应用程序的IsolatedStorage窗口位置(Windows.Top和) 。Window.Left

现在我想保存,总是在 IsolatedStorage 中,一个Brush. 它可以是一个SolidColorBrush或一个LinearGradientBrush基于用户的选择。

对于 aSolidColorBrush我可以只保存 RGB 颜色的 3 个值,但是如何处理 aLinearGradientBrush呢?

我认为可以序列化一个Brush对象,但我真的被卡住了。

现在我的问题是:有可能将 Brush 保存在IsolatedStorage?

我选择使用IsolatedStorage是因为我的应用程序需要是单个 exe,无需安装(它通过自定义软件分发程序分发给客户端),通常从桌面执行。该应用程序向用户提供有关 Active Directory 用户的正确凭据信息。

编辑:

欢迎提供任何其他用于保存用户自定义的解决方案!

4

2 回答 2

-1

首先,我不会使用独立存储,而是使用用户范围的设置来存储此类信息。其次,如果您不能序列化画笔,您可以保存用户输入的任何信息以选择或创建画笔:如果他们只是从现有资源中选择画笔,则保存这些资源的键,如果他们可以输入 rgb 值选择一种颜色,保存 rgb 值,无论他们做什么来定义一个 LinearGradientBrush,只需保存他们的输入值。

于 2012-06-09T08:43:28.560 回答
-1

画笔和其他半原生绘图对象不可序列化。因此,您将无法将它们存储在任何持久性或进程外存储中。

由于看起来您的对象集有限,因此应该很容易获取所有属性并手动存储它们。创建可以存储在 Stream 中并充当相应类型的工厂的可序列化帮助器/包装器类可能是一种选择。

于 2012-06-08T23:19:38.663 回答