我表示对相机拍摄分辨率类CaptureResolution
不节能:自定义类型的应用程序设置
[Serializable]
[SettingsSerializeAs(SettingsSerializeAs.Xml)]
[XmlRoot (ElementName = "CaptureResolution", IsNullable = false)]
public class CaptureResolution: ApplicationSettingsBase
{
[UserScopedSetting]
[SettingsSerializeAs(SettingsSerializeAs.Xml)]
[XmlAttribute (AttributeName = "Width")]
public int Width { get; set; }
[UserScopedSetting]
[SettingsSerializeAs(SettingsSerializeAs.Xml)]
[XmlAttribute(AttributeName = "Height")]
public int Height { get; set; }
public CaptureResolution(int width, int height)
{
Width = width;
Height = height;
}
public CaptureResolution(): this(1024, 720)
{
}
}
我添加了一个设置成设置设计师利用给定类型:
但是,当拨打电话
Properties.Settings.Default.ResolutionSelection = new CaptureResolution(1920, 1080);
Properties.Settings.Default.Save();
设置不会被保存在用户设置文件:
<setting name="ResolutionSelection" serializeAs="Xml">
<value />
</setting>
我可以肯定确认值分配给设置的属性。否则,该方案根本无法工作。我也看过调试器。
此外,我已经在互联网上搜索合适的解决方案,但最终它并没有真正帮助。其他设置保存没有任何问题。
Afaik设置设计器需要一个可以序列化为XML的类和一个公共可访问的默认无参数构造函数。我做了两个,所以我想知道为什么它不按预期工作。
其他问题
我怎么能指定一个默认值这个自定义类型的设置? 输入new FaceDetection.Model.CaptureResolution()
以异常结束。
谢谢。像魅力一样工作。 – chris579