Хорошо, поэтому, отказавшись от получения встроенной системы конфигурации .NET для сохранения / загрузки данных о пользовательских объектах для каждого пользователя, я перешел к использованию сериализуемого объекта. И, чтобы пойти дальше, я хотел бы привязать его к своим элементам управления в окне параметров моего приложения.
Пожалуйста, прости длину этого вопроса, так как в нем есть куски кода ...
Сначала родительский объект:
[Serializable]
public class ConnectionSettings
{
public List<Connection> Connections { get; set; }
public ConnectionSettings()
{
Connections = new List<Connection>();
}
}
Поскольку будет сохранено несколько соединений, я решил, что это будет самый простой способ их хранения.
Часть объекта 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>();
}
}
Для общего представления о том, как выглядит форма:
У меня есть ComboBox, который будет отображать имя хоста всех сохраненных подключений, когда пользователь выбирает имя хоста, он заполняет другие поля в форме их соответствующими значениями. Я понимаю, что это не должно быть так сложно, но по какой-то причине я не могу заставить работать часть поля со списком, и чем больше я думаю об этом, я не уверен, знаю ли я, как узнать, какое конкретное соединение нужно заполнить другие элементы управления с ...
подробнее
Проблема в том, что я не уверен, как связать все, что требует привязки. Я ушел из этого примера . То, что я хотел бы сделать, это чтобы каждый объект Connection в десериализованных ConnectionSettings (из файла) отображал имя хоста в поле со списком, и когда вы выбираете имя хоста, он заполняет остальные связанные данные другим элементам управления в форме.
Любая помощь будет принята с благодарностью.