1

我尝试序列化 PropertyGrid 并将结果写入 XML 文件。最后,XML 文件几乎是空的;
XML 文件

<?xml version="1.0" encoding="utf-8"?>
<MyBookCollection xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />


我的代码;

private void btnSave_Click(object sender, EventArgs e)
{
    MyBookCollection  MyBooks = new MyBookCollection ();

    SerializeToXML(MyBooks);
}

public void SerializeToXML(MyBookCollection MyBooks)
{
    XmlSerializer serializer = new XmlSerializer(typeof(MyBookCollection ));
    TextWriter textWriter = new StreamWriter(@"D:\BookInfo.xml");
    serializer.Serialize(textWriter, MyBooks);
    textWriter.Close();
}
}

[Serializable]
public class MyBookCollection 
{
     string m_Title;
     [Category("Book Titles")]
     [ReadOnly(true)]
     public string Title
     {
         get { return m_Title; }
         set { m_Caption = Title; }
     }
 }


出了什么问题或如何做得更好
语言:C#

4

2 回答 2

1

您是否尝试过以这种方式获取 .SelectedObject 属性?

private void btnSave_Click(object sender, EventArgs e)
{
    var MyBooks = myProertyGrid.SelectedObject as MyBookCollection;
    SerializeToXML(MyBooks);
}

不幸的是,PropertyGrid 没有绑定属性更改。

于 2013-02-26T15:59:41.120 回答
0

我看不出 XML 有什么问题。你的 XML 序列化没问题!

您只能看到 MyBookCollection 节点,因为对象中没有其他数据!

亲切的问候,维姆

于 2013-02-26T15:41:40.683 回答