序列化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”未标记为可序列化。”

这种情况该如何处理?
...全文
224 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
货郎大叔 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
  • 打赏
  • 举报
回复
据我所知,应该是无解的吧。

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

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

试试用AI创作助手写篇文章吧