如何在C#中更改xaml属性的名称?

时间:2015-11-12 02:58:01

标签: c#

我想将类的对象序列化为xaml格式。但是,类的所有属性名称都是直接序列化的,我无法更改其名称。

我已经使用了

[DataMember(Name = "NameToChange")]` 

属性,但这仍然无法解决问题。 请帮帮我。

这是班级:

public partial class XObject
{
    [DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
    public string AtName
    {
        get
        {
            return this.Name;
        }
        set
        {
            this.Name = value;
        }
    }

    [DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
    public string AtType
    {
        get
        {
            return this.m_TypeToken;
        }
        set
        {
            this.m_TypeToken = value;
        }
    }

    [DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
    public string AtSerialize
    {
        get
        {
            return this.m_SerializeToken;
        }
        set
        {
            this.m_SerializeToken = value;
        }
    }

    [DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
    public List<string> AtValue
    {
        get
        {
            return m_Values;
        }
    }

    [DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
    public Dictionary<string, XObject> AtAttached
    {
        get
        {
            return m_AttachedAttributes;
        }
    }

    [DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
    public string AtDynamic
    {
        get
        {
            return m_DynamicValue;
        }
    }

    public void UpdateToken()
    {
        AtSerialize = (true == HasAttribute(AttributeNameToken_Serialize)) ? GetAttribute(AttributeNameToken_Serialize) : null;
        AtType = (true == HasAttribute(AttributeNameToken_Type)) ? GetAttribute(AttributeNameToken_Type) : null;

        foreach (XObject member in this)
        {
            member.UpdateToken();
        }
    }

    private string m_TypeToken = null;
    private string m_SerializeToken = null;

}

0 个答案:

没有答案