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 に答える