Silverlight 字符间距

3

在Silverlight中管理字距、字间距或字符间距最简单的方法是什么?

我目前使用Arial字体制作的大标题之间有太多的空格。

谢谢。

2个回答

2
我不确定这是最佳解决方案,但对我来说它运行良好:

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;
    }

0

我认为目前运行时不支持此功能。您可以将文本导出为路径,然后使用它。


谢谢。我想我会为TextBlock编写一个行为,以分割所有单词,并具有分配间距参数的属性。 - keyle

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接