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

本文关键字:格式化 上标 字符串 | 更新日期: 2023-09-27 18:04:58

我需要在c#中格式化一些上标字符串(后面的代码),

例如,

Input => 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))

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

上标2需要使用Unicode字符。看看这里:http://msdn.microsoft.com/en-us/library/aa664669%28v=vs.71%29.aspx

如果你想要一个字符串字面值,你可以使用:

 var value = "10'xB2";

现场演示

在WPF中可以使用字体变体

设置wpf格式文本的上标和下标