GTKSharp, Pango, carattere impostare la dimensione eccentricità
Domanda
sto usando GTK Sharp a lavorare su alcuni GUI per la mia app.
Date un'occhiata a questo pezzo di codice:
Pango.FontDescription fontdesc = new Pango.FontDescription();
fontdesc.Family = "Sans";
//fontdesc.Size = 12;
fontdesc.Weight = Pango.Weight.Semibold;
SyncInfo.ModifyFont(fontdesc);
Gdk.Color fontcolor = new Gdk.Color(255,255,255);
SyncInfo.ModifyFg(StateType.Normal, fontcolor);
Avviso fontdesc.Size è commentata. Perché solo quando io commento fuori, io vedere l'etichetta con il testo. Se ho impostato alcun valore ad essa, non apparirà l'etichetta.
Inoltre, ho fatto un Console.WriteLine, e la dimensione predefinita è 0. Così ho provato frontdesc.Size = 0, e scompare ancora, qualche idea?
Grazie!
Soluzione
questo fuori. È necessario impostare a 12 * Scale.PangoScale. Ho avuto un problema simile con le API C.
Altri suggerimenti
Questa è essenzialmente una versione C # del altra risposta PangoScale:
Pango.FontDescription fontdesc = new Pango.FontDescription();
fontdesc.Size = Convert.ToInt32(12 * Pango.Scale.PangoScale);
....
Note: FontDescription.Size è un int e PangoScale è di tipo doppia così è necessario un cast tipo o altra doppia a int conversione. Scala è probabile ambiguo negli spazi dei nomi di riferimento, in modo che il Pango.Scale riferimento completo è probabilmente meglio utilizzare.