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

如何在C#中格式化上标字符串?,c#,wpf,C#,Wpf,我需要在c#中的上标(代码隐藏)中格式化一些字符串 比如说, 输入=>100 输出=>10^2 其中,Output是一个Clr属性 我试过使用下面的代码片段 TextBlock _textBlock = new TextBlock(); _textBlock.Text = "10"; _textBlock.Inlines.Add(new Run() { BaselineAlignment = BaselineAlignment.Superscript, Text = "2"}

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

比如说,

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

其中,
Output
是一个
Clr属性

我试过使用下面的代码片段

 TextBlock _textBlock = new TextBlock();
    _textBlock.Text = "10";
    _textBlock.Inlines.Add(new Run() { BaselineAlignment  = BaselineAlignment.Superscript, Text = "2"});
由于在上述情况下,
排版
是只读属性,因此我无法在代码隐藏中设置
排版.Variants

注意:请注意,这个问题不是关于渲染,而是关于将
文本
作为
字符串
来阅读。预期值为
10^2
。建议重复时,请检查其他问题地址

有谁能给我指点一下吗


同样,在像上面提到的代码片段一样设置
BaselineAlignment.Superscript
时,它不会像上标(小字体)一样呈现,而是以相同的
FontSize
呈现(相反,它看起来像是单独为上标内容设置边距属性,就像
新的厚度(0,0,0,FontSize)
)上标2需要使用Unicode字符。请看这里:

如果希望它是字符串文字,可以使用:

 var value = "10\xB2";

在WPF中,您可以使用打字变体


@Sriram Sakthivel,由于重复的问题“在wpf中设置上标和下标格式文本”没有任何解决方案来解决我的问题,在以重复方式关闭此查询之前,请帮助我解决此查询。我不明白您的情况有什么不同?你提到的代码片段目前对我来说很好。我能看到
10^2
@SriramSakthivel,你能在
\u textBlock.Text
中获得
10^2
吗?是的,我刚刚试过,得到了
10^2
。相信我。@srramsakthivel,我已经检查了
即时窗口
,但是我仍然在
\u textBlock.Text
属性中获得了所提供代码段的
10
。您能分享一下您使用的代码片段吗(如果有任何修改)?10^2不是唯一的情况,因此我可以使用unicode来表示2。但是它可以是任何数字(比如75^289)。那么,在这种情况下,是否可以通过unicode支持来实现呢?是的,在上面的链接中查找排版变体。@Darrenyong,如前所述,我可以使用排版直接在UI中呈现。但我的要求是将上标值(如10^2)设置为字符串属性。所以我不能通过在代码后面的排版来实现它。你能给我一些代码片段吗?@joyoyiesrex你把它整理好了吗?刚刚编辑了我上面的答案。是的。Console.WriteLine(“10\x2076\xB3”);