我有如下类:
[Serializable]
[XmlRoot ( ElementName = "TextData", IsNullable = false)]
public class TextData
{
private System.Drawing.Font fontColor;
[XmlAttribute ( AttributeName = "Font" )]
public System.Drawing.Font Font { get; set; }
[XmlAttribute ( AttributeName = "FontColor" )]
public System.Drawing.Color FontColor { get; set; }
[XmlAttribute ( AttributeName = "Text" )]
public string Text { get; set; }
public TextData ( )
{
} // End of TextData
} // End of TextData
我正在尝试使用以下代码保存它:
// Create our font dialog
FontDialog fontDialog = new FontDialog ( );
fontDialog.ShowColor = true;
// Display the dialog and check for an ok
if ( DialogResult.OK == fontDialog.ShowDialog ( ) )
{
// Save our changes for the font settings
if ( null == Properties.Settings.Default.MainHeadlineTextData )
{
Properties.Settings.Default.MainHeadlineTextData = new TextData ( );
}
Properties.Settings.Default.MainHeadlineTextData.Font = fontDialog.Font;
Properties.Settings.Default.MainHeadlineTextData.FontColor = fontDialog.Color;
Properties.Settings.Default.Save ( );
}
每次我加载应用程序时,Properties.Settings.Default.MainHeadlineTextData仍然为空。保存似乎没有生效。我在另一篇帖子中读到,这个类必须是公共的,而且它确实是公共的。有什么想法为什么这不起作用?