其实这些难题应有不是Silverlight本人的难题,但某个时候大家的确会遇见。例如我们在Silverlight程序中使用了一部分特殊字符,那几个字符恐怕会因操作系统的区域化设置而发出变更,例如货币符号$、¥等等。还有在程序中通过字符串格式化获得的钱币数字,则也许因为操作系统的区域化设置而发出多少上的转移,如数字100,当操作系统的区域设置为中华和花旗国,则数额会区别。有时候恐怕还会遭逢尤其出人意料的难题,操作系统的区域化设置甚至会影响到Silverlight程序的行为,如动画、交互行为等等。

  当您在Silverlight程序中碰到上述这一个奇怪的题材时,怎样应付呢?

  其实很简短,难点的由来是因为Silverlight程序的CultureInfo注重于操作系统的安装,你只供给在你的Silverlight应用程序中去掉这种借助就足以了。看上面包车型地铁代码:

1 public App()
2 {
3     this.Startup += this.Application_Startup;
4     this.Exit += this.Application_Exit;
5     this.UnhandledException += this.Application_UnhandledException;
6     Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.InvariantCulture;
7     InitializeComponent();
8 }

  App是Silverlight程序的入口函数,第4行是为着去掉Silverlight程序的CultureInfo依赖。那样一来,不管客户端操作系统设置在怎么的区域,你的Silverlight应用程序都不会发生改变。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图