2009-07-14 116 views
0

我正在研究Silverlight应用程序,我正在检查URL以查看用户是否尝试访问“西班牙语”版本。我的方法在Windows 7和Windows Vista上运行良好,但是当Windows XP的用户尝试加载应用程序时,我得到了抛出Argument_InvalidCultureName异常的崩溃。有人可以看看下面的代码吗?给我一个概念,说明发生了什么问题以及如何解决它?提前致谢。Silverlight的InvalidCultureName问题

if (HtmlPage.Document.DocumentUri.Query.Contains("Spanish") || HtmlPage.Document.DocumentUri.Query.Contains("spanish") || HtmlPage.Document.DocumentUri.Query.Contains("Espanol")) 
{ 
    try 
    { 
      var culture = new CultureInfo("es-ES"); 
      Thread.CurrentThread.CurrentCulture = culture; 
      Thread.CurrentThread.CurrentUICulture = culture; 
    } 
    catch (Exception) 
    { 
      // Do Something 
    } 
} 
+0

我刚刚在XP上试过同样的事情,它工作正常。这段代码在哪里生活? MSDN文档无用“Silverlight从操作系统中检索文化信息,文化信息的可用性可能因平台和操作系统版本而异”(http://msdn.microsoft.com/zh-cn/library/system。 globalization.cultureinfo%28VS.95%29.aspx)。如果你尝试另一种文化,如“DE-DE”,会怎么样? – russau 2009-07-14 13:33:17

回答

0

我将逻辑改为“ES”而不是“ES-ES”,这在XP机器上工作得很好。