2009-02-12 6 views
0

Ok, donc avoir renoncé à se construit dans le système de configuration .NET pour enregistrer/charger des données sur un objet personnalisé par utilisateur, j'ai déplacé à l'aide d'un objet sérialisable. Et, pour aller plus loin, je voudrais le lier à mes contrôles dans la fenêtre d'options de mon application.Liaison d'un objet sur mesure sérialisable aux commandes si l'utilisateur et charger/enregistrer les préférences

S'il vous plaît pardonnez la longueur de cette question car il a quelques morceaux de code dans ce ...

Tout d'abord, l'objet parent:

[Serializable] 
public class ConnectionSettings 
{ 
    public List<Connection> Connections { get; set; } 

    public ConnectionSettings() 
    { 
     Connections = new List<Connection>(); 
    } 
} 

Parce qu'il y aura plusieurs connexions qui seront sauvegardées , Je pensais que ce serait le moyen le plus facile de les stocker.

Un morceau de l'objet de connexion:

[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>(); 
    } 
} 

Pour avoir une idée générale de la façon dont la forme ressemble à: J'ai un ComboBox qui affiche le nom d'hôte de toutes les connexions enregistrées, lorsque l'utilisateur sélectionne un nom d'hôte, il remplira les autres champs du formulaire avec leurs valeurs respectives. Je me rends compte que cela ne devrait pas être si difficile, mais pour une raison quelconque, je n'arrive pas à faire fonctionner la zone de liste déroulante, et plus j'y pense, plus je ne sais pas Si je sais comment savoir quelle connexion utiliser les autres contrôles avec ...

plus d'info Le problème est, je ne sais pas comment lier tout ce qui a besoin de liaison. Je partais de ce example. Ce que je voudrais pouvoir faire est pour chaque objet Connection dans les ConnectionSettings désérialisés (à partir d'un fichier) afficher le nom d'hôte dans la liste déroulante, et quand vous sélectionnez un nom d'hôte, il remplit le reste des données liées aux autres contrôles sur le formulaire.

Toute aide malade grandement appréciée.

+0

Je ne pense pas que vous ayez précisé ce que vous demandez. Pouvez-vous clarifier votre question? Est-ce lié à la sérialisation ou à la combo? Où est exactement le problème? Merci. –

+0

Ajouté un peu plus d'informations, j'espère que cela aide. –

Répondre

0

Ok, je pense que je l'ai compris. J'ai changé le ConnectionSettings pour hériter de la liste et il semble fonctionner correctement.

Questions connexes