微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Silverlight如何显示、输入上标和下标?

这是我最近碰到的一个问题,困扰了许久,在网上找了许久,最后在License的帮助下解决了这个问题

http://www.cnblogs.com/akwwl/archive/2012/08/12/2635614.html#2523515

Silverlight是不支持键盘录入上下标的,那么当用户录入上下标信息时,应该怎么办呢?

1.在Silverlight中遇到需要显示上标或者下标(如:水的化学式H2O)时,我们可以使用Silverlight中专门处理的上下标的特殊字符显示

上标的特殊字符:

Superscript:

: U+2070

: U+00B9

2 : U+00B2

: U+00B3

4-9 : U+2074-2079(表示从4到9的特殊字符)

: U+207A

: U+207B

: U+207C

: U+207D

: U+207E

: U+207F

下标的特殊字符:

0-9 : U+2080-2089(表示从0到9的特殊字符)

: U+208A

-: U+208B

=: U+208C

(: U+208D

): U+208E

以上特殊字符中,冒号前面的为我们要显示内容,冒号后面的为Silverlight中如何显示的特殊字符;

其中U在代码中使用的是“\x”,比如下标2就是用“\x2082”表示。

2.使用方法如下:

显示水的化学式时,显示的字符串为:string water = "H" + "\x2082" + "O";

显示勾股定理时,现实的字符串为:string s = "a\x00B2+b\x00B2=c\x00B2"; 

其中显示下标2的特殊字符串为:“\x2082”,显示上标2的特殊字符串为“\x00b2”

3.在控件中的显示如下:

        <TextBlock  HorizontalAlignment="Left" Margin="0" Name="msg" Text="TextBlock" VerticalAlignment="Top" />

后台代码

    msg.Text=" Fe\x2082O\x00B3";(显示三氧化二铁的化学式) 

界面显示效果

以上是License的博文,在这里补充一点,Silverlight是不支持键盘录入上下标的,那么当用户录入上下标信息是,应该怎么办呢?

创建一个ListBox,然后把这些上下标添加一个List中,并绑定到这个ListBox

 IList<string> list = new List<string>();
 list.Add("\x2080");
 list.Add("\x2081"); 
 list.Add("\x2082");
 ........ cmbType.ItemsSource = list;
这样之后就可以在程序中通过拷贝字符及上下标定义你想要的任何一下带有上下标的字符串了,你也也可以把这些上下标及字符串存入数据库

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐