如何在C#中格式化上标字符串?

时间:2014-05-26 04:18:37

标签: c# wpf

我需要在c#,

中的Superscript(代码隐藏)中格式化一些字符串

例如,

输入=> 100   输出=> 10 ^ 2

其中Output<string>Clr Property

我尝试使用以下代码段,

 TextBlock _textBlock = new TextBlock();
    _textBlock.Text = "10";
    _textBlock.Inlines.Add(new Run() { BaselineAlignment  = BaselineAlignment.Superscript, Text = "2"});

由于Typography在上述情况下属于只读属性,因此我无法在代码中设置Typography.Variants

注意:请注意,此问题与呈现无关,而是将Text作为string阅读。预期值为10^2。虽然建议重复,请检查其他问题地址。

有人可以指导我吗?

同样设置BaselineAlignment.Superscript就像上面提到的代码段一样,它不像上标(小字体)那样渲染,而是渲染在同一个FontSize中(相反它看起来像设置单独上标内容的Margin属性,如new Thickness(0,0,0,FontSize)

1 个答案:

答案 0 :(得分:3)

您需要将Unicode字符用于上标2.请查看此处:http://msdn.microsoft.com/en-us/library/aa664669%28v=vs.71%29.aspx

如果你想在字符串文字中使用:

 var value = "10\xB2";

Live Demo

在WPF中,您可以使用Typeography变体。

Set superscript and subscript in formatted text in wpf