【发布时间】:2013-04-18 15:12:06
【问题描述】:
我有一个 WPF 控件,其中包含带有图像的面板。我正在尝试序列化它,以便它可以独立加载,而不必在本地文件夹中包含图像。
我知道我可以将图像存储为 Base64 字符串,然后可以将其加载备份,但我想做的是包装 ImageSource 类以接受 Base64 字符串作为源。
我稍微研究了 ImageSource 类,但我相信我对它的工作原理还不够了解。当我在自定义包装类中实现 ImageSource 时,我得到了 2 个我不清楚的方法:
元数据
CreateInstanceCore
我想知道是否有人可以对这些方法有所了解,或者指出一个不会让我回到 MSDN 文档的方向。
【问题讨论】:
-
为什么不在可执行文件或控件库的程序集中将图像作为嵌入资源?
-
因为唯一持久化的数据是序列化的 XAML,而 XAML 序列化不能很好地处理图像。
-
为什么要序列化视图而不是模型和/或视图模型?
-
作为我第一次涉足 WPF,我没有使用 MVVM 设计模式。从那以后我读了一点,我明白了为什么我应该首先使用这种模式。我可能很快就会重新设计。