Je souhaite enregistrer certaines/toutes les propriétés d'un contrôle dans xml. E.g. les largeurs de colonne de listivew commeEnregistrer les propriétés du contrôle au format xml
listView1.SaveToXml("listview.xml")
Comment est-ce possible?
Je souhaite enregistrer certaines/toutes les propriétés d'un contrôle dans xml. E.g. les largeurs de colonne de listivew commeEnregistrer les propriétés du contrôle au format xml
listView1.SaveToXml("listview.xml")
Comment est-ce possible?
Via la classe XMLSerializer.
Et here est un bon exemple de la façon de le faire. Et comme les contrôles ne sont pas sérialisables, here est un moyen de contourner ce problème.
EDIT: Voici deux autres exemples de la façon de faire sérialisation XML:
http://www.dotnetjohn.com/articles.aspx?articleid=173
http://devhood.mit.edu/Tutorials/tutorial_details.aspx?tutorial_id=236
Comme pour le code exact de faire ce que vous essayez de faire, je me rends compte maintenant que nous sommes en réalité en utilisant BinaryFormatter qui est un peu différent de la façon dont XMLSerializer fait les choses, fournir du code ne vous serait donc pas utile. Toutefois, l'algorithme est essentiellement:
Vous pouvez essayer d'utiliser Xml Serialization.
Très bien, merci. mais puis-je aussi juste sérialiser une certaine propriété et non toute la classe? par exemple la largeur des en-têtes de colonnes d'un contrôle listview? –
Oui. J'utilise un petit sous-ensemble de propriétés de contrôle (je les stocke dans une classe "stub", en ne copiant que les informations que je veux sauvegarder) et ensuite sérialiser cette classe. Lorsque j'en ai besoin, je désérialise la classe de sous-ensembles, crée un nouveau contrôle, puis modifie les propriétés du contrôle en fonction des paramètres que j'ai enregistrés. –
et comment faites-vous exactement cela? Pouvez-vous s'il vous plaît me donner un exemple? –