在C#资源文件中使用上标

在C#资源文件中使用上标,c#,xaml,resourcedictionary,C#,Xaml,Resourcedictionary,我需要在C#UI项目资源文件中定义一些上标文本,这些文本最终将放在XAML数据表中。 例如,本例中的2需要上标:(kg/m2) 有没有办法在资源字符串的值字段中定义此权限…可能通过绑定到此值的标准Xaml控件可以解析的Unicode或HTML标记? 我并不反对使用XAML转换器,但除了在资源中放入某种不规范的字符串(例如,(kg/mSQUARED))并使用XAML查找它之外,我也想不出一种优雅的方法来实现这一点 谢谢 根据你上面的评论,听起来“squared”是你唯一需要的。因此,为了进一步说明

我需要在C#UI项目资源文件中定义一些上标文本,这些文本最终将放在XAML数据表中。 例如,本例中的2需要上标:(kg/m2)

有没有办法在资源字符串的值字段中定义此权限…可能通过绑定到此值的标准Xaml控件可以解析的Unicode或HTML标记?
我并不反对使用XAML转换器,但除了在资源中放入某种不规范的字符串(例如,(kg/mSQUARED))并使用XAML查找它之外,我也想不出一种优雅的方法来实现这一点


谢谢

根据你上面的评论,听起来“squared”是你唯一需要的。因此,为了进一步说明我的意见:

“squared”即“SUPERSCRIPT TWO”已经有了一个Unicode代码点。它叫U+00B2,如果你想在谷歌上搜索更多关于它的信息

这是:

²


在Web浏览器中突出显示该字符,将其复制到剪贴板,然后粘贴到资源文件中。

使用美国国际键盘布局,按Alt Gr+2,将显示


Alt Gr+3=³

在文本中简单地使用^2,然后确保转义^(例如^^),这实际上是文本的一部分吗?如果“squared”是您唯一需要的,那么就有一个Unicode代码点:²(U+00B2,或
在代码中“\u00B2”
)@当从资源文件绑定到文本框时,这两个序列都不起作用。我给了你三个序列,不是两个。我只是在下面的回答中重复了第一个(可能是你错过的,也是对你最直接有用的一个),这很有效。这个故事的寓意是从web浏览器(或非Microsoft文本编辑器)复制上标字符。我已经尝试过从Word复制,当我粘贴到资源文件时,它剥离了格式。无论如何,谢谢!如果您在Word中添加了一个
2
,然后将其格式化为上标,那么它将被复制为
2
(U+0032),因为它就是这样。如果你把
2
放进一个网页并试图复制它,情况也是一样的:你只会得到
2
。这就是为什么我在答案中加入了U+00B2,而不是上标的U+0032。