GTKSharp, Pango, defina o tamanho da fonte estranheza
Pergunta
Eu estou usando GTK afiada ao trabalho em algum GUI para meu aplicativo.
Dê uma olhada neste pedaço de código:
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);
Observe fontdesc.Size está comentada. Porque só quando eu comentá-lo, vou ver a etiqueta com o texto. Se eu definir qualquer valor para ele, o rótulo não aparecerá.
Além disso, eu fiz um Console.WriteLine, eo tamanho padrão é 0. Então, eu tentei frontdesc.Size = 0, e ainda desaparece, alguma idéia?
Obrigado!
Solução
Verifique este fora. Você precisa configurá-lo para 12 * Scale.PangoScale. Eu tive um problema semelhante com as APIs C.
Outras dicas
Esta é essencialmente uma versão C # da outra resposta PangoScale:
Pango.FontDescription fontdesc = new Pango.FontDescription();
fontdesc.Size = Convert.ToInt32(12 * Pango.Scale.PangoScale);
....
Notas: FontDescription.Size é uma int e PangoScale é do tipo é necessária dupla para um elenco tipo ou outra dupla para conversão de int. Escala é provável ambígua nos espaços de nomes referenciados, de modo que o Pango.Scale referência completa é provavelmente melhor usado.