olibara
Messages postés666Date d'inscriptiondimanche 16 décembre 2007StatutMembreDernière intervention11 mars 2010
-
13 mars 2009 à 17:44
olibara
Messages postés666Date d'inscriptiondimanche 16 décembre 2007StatutMembreDernière intervention11 mars 2010
-
14 mars 2009 à 23:52
Bonjour
J'utilise une classe de parametre pour definir des presentations
Il y en a +/- 30
J'utilise la petite methode ci dessous pour les sauver c'est evidemment tres simple
Malheureusement, ca ne marche pas avec des Font
Quelqu'un sait-il comment je pourrais embaler la serialization d'un font dans cette methode ?
Sans devoir tout refaire a la main ?
// *******************************************************************************************
private void SaveTemplate()
{
XmlSerializer xs;
StreamWriter sw;
string TemplateFile = "d:/tmp/xxx.xml";
if (TemplateFile.Length <= 0)
{
return;
}
xs = new XmlSerializer(typeof(C_PrintSettings));
using (sw = new StreamWriter(TemplateFile, false, Encoding.Default))
{
xs.Serialize(sw, Document.PrintSettings);
sw.Close();
}
}
RougailSaucisse
Messages postés118Date d'inscriptionlundi 16 février 2009StatutMembreDernière intervention 6 décembre 20101 14 mars 2009 à 23:28
hum si tu ne tiens vraiment pas a implementer IXmlSerializable et réécrire les methodes ReadXml et WriteXml, ou bien si tu ne veux pas avoir une classe "wrapper" pour le Font dans laquelle tu aurais des propriétés pour le familyname et font-size et une methode ToFont qui convertirait cela en Font alors essaye:
//ecriture
Font f = textBox1.Font; //ta font a toi, ici je recupere depuis un textbox pour pas m'embeter
string s1 = TypeDescriptor.GetConverter(f).ConvertToString(f);
Tu vas donc avoir comme propriete de ta classe une string pour ta font plutot qu'un type font directement.
//recupération
Font f2 = new Font((Font)TypeDescriptor.GetConverter(typeof(Font)).ConvertFromString(s1);
Lorsque tu vas vouloir utiliser ta font, tu devrais la convertir depuis ta string. bon ici c'est fait en brouillon, mais je pense que tu comprends le principe.