Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка Windows Forms > Редактирование поля структуры типа Color


Автор: PPS05 14.4.2008, 11:59
Мне нужно xml-сериализовывать объект класса, который содержит поле типа Color. Я сделал для него "обертку"
Код

public struct XColor : IXmlSerializable
    {
        private Color _Color;

        public XColor(Color Color) { this._Color = Color; }
        public Color Color { get { return this._Color; } set { this._Color = value; } }
        public static implicit operator XColor(Color Color) { return new XColor(Color); }
        public static implicit operator Color(XColor XColor) { return XColor.Color; }
        System.Xml.Schema.XmlSchema IXmlSerializable.GetSchema() { return null; }
        void IXmlSerializable.ReadXml(XmlReader Reader)
        {
            _Color = ColorTranslator.FromHtml(Reader.ReadString());
        }
        void IXmlSerializable.WriteXml(System.Xml.XmlWriter Writer)
        {
            Writer.WriteString(ColorTranslator.ToHtml(_Color));
        }
        public override string ToString()
        {
            return ColorTranslator.ToHtml(this.Color);
        }
    }

Но беда в том, что я хочу, чтобы это же свойство редактировалось в PropertyGrid и желательно, чтобы не в виде раскрывающегося дерева. Это можно реализовать?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)