2009-07-14 106 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機器上工作得很好。