System.Globalization.CultureInfo.InvariantCulture在Silverlight程序中之用意

  其实这题目该不是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程序的入口函数,第6履行是为错开掉Silverlight程序的CultureInfo依赖。这样一来,不管客户端操作系统设置于如何的区域,你的Silverlight应用程序都未会见出变更。

发表评论

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