Windows.Media.Brush не является сериализуемым классом, поэтому мне интересно, как его сериализовать.Как сериализовать Windows.Media.Brush
Я ставлю перед [Serializable] атрибут самого класса и [DataContract], а вместе с [DataMember (Name = «ИмениСвойство»)] на каждое свойстве, так это выглядит примерно так:
[Serializable]
[DataContract]
public class ClassName: SerializeableBase<ClassName>
{
// Color
[DataMember(Name = "Color")]
private Brush _color;
public Brush Color
{
get { return _color; }
set
{
_color = value;
}
}
}
Моя первая мысль состоит в том, что я сериализую шестнадцатеричную строку, которую я могу затем преобразовать, чтобы быть кистью. Это сработает, если я смогу преобразовать кисть в шестнадцатеричную, чтобы обновить строку до ее сериализации, а также получить цвет после десериализации строки. Можно ли преобразовать кисть, чтобы получить из нее шестнадцатеричную строку? Или есть лучший способ сериализации этого класса?
Посмотрите этот http://stackoverflow.com/questions/4488476/how-can-i- serialize-xaml-brush – eYe
Видел это решение, но не упоминает, как это будет работать с другими свойствами? Я все еще смотрю в нее. Спасибо. – AzzamAziz
Используйте класс BrushConverter, чтобы вы могли сериализовать его как строку. –