好吧,所以我放弃了让内置的.NET配置系统为每个用户保存/加载自定义对象的数据,转而使用可序列化对象。为了更进一步,我想将它绑定到我的应用程序选项窗口中的控件。
请原谅这个问题的长度,因为它包含一些代码块…
首先,父对象:
[Serializable]
public class ConnectionSettings
{
public List<Connection> Connections { get; set; }
public ConnectionSettings()
{
Connections = new List<Connection>();
}
}
因为将保存多个连接,所以我认为这是存储它们的最简单方法。
连接对象的块:
[Serializable]
public class Connection : NotifyBase
{
private string hostName;
[DisplayName( "Host Name" )]
public string HostName
{
get { return hostName; }
set { SetField( ref hostName, value, "HostName" ); }
}
/* Other field snipped for your sanity,*/
/* same format as host name */
public List<string> Channels { get; set; }
public Connection()
{
Channels = new List<string>();
}
}
有关窗体外观的一般概念:
我有一个组合框,它将显示所有已保存连接的主机名,当用户选择主机名时,它将用各自的值填充表单上的其他字段。我意识到这不应该那么难,但出于某种原因,我不能让组合框部分工作,而且我越想它,我不确定我是否知道用哪个特定连接来填充其他控件…
更多信息
问题是,我不知道如何绑定所有需要绑定的内容。我要离开这个
example
. 我希望能够为反序列化连接设置(来自文件)中的每个连接对象在组合框中显示主机名,当您选择主机名时,它会将其余相关数据填充到表单上的其他控件中。
任何帮助我都将不胜感激。