我有一个完全惰性的单例和一个胜利表单,
我想将控件绑定到单例实例中的属性。
我有一个组合框,它有两种方式绑定到单例中的属性。
组合框有一个数据源(列表),当表单加载并且组合框带有一个选定的项目时,选定的项目在单例属性中没有更新。
例如,如果在加载时组合框有一个选择值“1”,则单例属性将不会获得该值并将保持为空,如果之后我将在组合框中选择一个不同的值,它将正确更新该属性。
有没有办法解决它?
avilibaleLinesComboBox.DataBindings.Add("SelectedItem", Settings.Instance,
"CallBackExtn", true, DataSourceUpdateMode.OnPropertyChanged);
[Serializable()]
public class Settings
{
private static volatile Settings instance;
private Settings() { }
public static Settings Instance
{
get
{
if (instance == null)
{
lock (syncRoot)
{
if (instance == null)
instance = loadSettingsFromFile();
}
}
return instance;
}
}
[System.Xml.Serialization.XmlElementAttribute("ConnectionString")]
public string ConnectionString { get; set; }
}