序列化Button,如何序列化Background

货郎大叔 2017-11-12 10:37:53

[Serializable]
public class SerializableButton : Button, ISerializable
{
public SerializableButton() { }
public SerializableButton(SerializationInfo info, StreamingContext context)
{
Width = info.GetDouble("Width");
Height = info.GetDouble("Height");
Background = (Brush)info.GetValue("Content", typeof(Brush));
}
public void GetObjectData(SerializationInfo info, StreamingContext context)
{
info.AddValue("Width", Width);
info.AddValue("Height", Height);
info.AddValue("Background", Background);
}
}

上面是一段自定义序列化的代码,在序列化Button的过程中,涉及到按钮的背景色,当操作序列化的时候,就报错:SolidColorBrush”未标记为可序列化。”

这种情况该如何处理?
...全文
186 9 1 打赏 收藏 举报
写回复
9 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
货郎大叔 2017-11-14
我现在需要序列化一个用RenderTargetBitmap位图保存的控件的外观。 能实现吗?
  • 打赏
  • 举报
回复
货郎大叔 2017-11-14
序列化一个用RenderTargetBitmap位图保存的控件的背景图,能吗?
  • 打赏
  • 举报
回复
货郎大叔 2017-11-13
Brush不支持序列化?那背景色咋办?
  • 打赏
  • 举报
回复
货郎大叔 2017-11-13
引用 6 楼 starfd 的回复:
button这种东西怎么能序列化呢…… 事件什么的怎么序列化
实际上主要是序列化Button的背景色,而且不是XAML
  • 打赏
  • 举报
回复
exception92 2017-11-13
画刷Brush不支持序列化。
  • 打赏
  • 举报
回复
button这种东西怎么能序列化呢…… 事件什么的怎么序列化
  • 打赏
  • 举报
回复
njit_77 2017-11-13
微软提供的类,如果不支持序列化,那就没办法序列化。你总不可能去修改它的特性吧。 只能自己保存参数了
  • 打赏
  • 举报
回复
货郎大叔 2017-11-13
那咋整啊,我现在有这个需求诶,要序列化Brush
  • 打赏
  • 举报
回复
exception92 2017-11-13
据我所知,应该是无解的吧。
  • 打赏
  • 举报
回复
相关推荐
发帖
C#
加入

10.6w+

社区成员

.NET技术 C#
申请成为版主
帖子事件
创建了帖子
2017-11-12 10:37
社区公告

让您成为最强悍的C#开发者