Привязка настраиваемого сериализуемого объекта к элементам управления, чтобы пользователь и настройки загрузки / сохранения - PullRequest
0 голосов
/ 12 февраля 2009

Хорошо, поэтому, отказавшись от получения встроенной системы конфигурации .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 (из файла) отображал имя хоста в поле со списком, и когда вы выбираете имя хоста, он заполняет остальные связанные данные другим элементам управления в форме.

Любая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 12 февраля 2009

Хорошо, думаю, я понял это. Я изменил ConnectionSettings для наследования List, и он, кажется, работает правильно.

...