Was ist der einfachste Weg, Briefabstand, Kerning oder Tracking in Silverlight zu verwalten?Silverlight Briefabstand
Ich habe derzeit große Titel in Arial, die einfach zu viel Platz zwischen den Buchstaben haben.
dank
Was ist der einfachste Weg, Briefabstand, Kerning oder Tracking in Silverlight zu verwalten?Silverlight Briefabstand
Ich habe derzeit große Titel in Arial, die einfach zu viel Platz zwischen den Buchstaben haben.
dank
Ich glaube nicht, dass es von der Laufzeit zu diesem Zeitpunkt unterstützt wird. Sie könnten den Text als Pfad exportieren und diesen verwenden.
weiß nicht, ob es die beste Lösung, aber es funktioniert gut für mich:
SomeElement.Children.Add(LetterSpacing("Test", -3));
...
private Canvas LetterSpacing(string String, double Space)
{
Canvas kpr = new Canvas();
char[] lters = String.ToCharArray();
Label[] lbls = new Label[lters.Length];
for (int i = 0; i < lters.Length; i++)
{
Label tmpLbl = new Label();
lbls[i] = tmpLbl;
kpr.Children.Add(lbls[i]);
lbls[i].Content = lters[i];
lbls[i].FontSize = 30;
lbls[i].FontFamily = new FontFamily("Verdana");
}
Dispatcher.BeginInvoke(
() =>
{
double leftPos = 0;
for (int j = 0; j < lbls.Length; j++)
{
Canvas.SetLeft(lbls[j], 0 + leftPos);
leftPos += (lbls[j].ActualWidth - (Space * -1));
}
});
return kpr;
}
Dank. Ich denke, ich werde ein Verhalten für den Textblock schreiben, der alle Wörter aufteilt, mit einer Eigenschaft, die den Abstandsparameter zuweist. – keyle