2013-05-07 137 views
-1

我在ILSpy打開mscorlib中,我看到在資源文件夾中:本地化mscorlib.dll中資源

Name, Value 
[Format_InvalidString, Input string was not in a correct format.] 

有什麼辦法本地化這個字符串?

(背景:Silverlight應用程序拋出這個消息時輸入不正確的數字,這將是更容易只是改變這比寫轉換器和數百個地方應用它)。

回答

0

唯一可行的解​​決辦法是這樣的:

public partial class MyEntity   
{ 
    public string MyField_string 
    { 
     get 
     { 
      return MyField.ToString(); 
     } 
     set 
     { 
      decimal res = 0; 
      var b = Decimal.TryParse(value, out res); 
      if (!b) 
       throw new ArgumentException("Localized message"); 
      else 
       this.MyField = Math.Round(res, 2); 
     } 
    } 

    partial void OnMyFieldChanged() 
    { 
     RaisePropertyChanged("MyField_string"); 
    } 
} 

,然後綁定到MyField_string而不是MyField

0

Silverlight本地化爲附屬程序集。您可以在Silverlight安裝位置看到這些內容。在我的機器上,我在C:\ Program Files文件(x86)中安裝了Silverlight 5 \ Microsoft Silverlight \ 5.1.20125.0根據您的需要調整版本號。

注意很多子目錄2個字母的名字,「AR」是一個阿拉伯語的例子。看看那個目錄,記下那裏的mscorlib.resources.dll文件。這是包含本地化字符串的衛星程序集,包括異常消息字符串。該特定目錄中的阿拉伯字符串。

,並會自動將一臺機器,其用戶已經選擇了阿拉伯語作爲他的首選語言顯示。你不需要幫忙。

+0

感謝您的回答。我的機器上的區域設置設置爲立陶宛語,但錯誤是英文。並且在xap文件中也沒有附屬程序集,無論我嘗試什麼(主要是[建議] [這裏](http://msdn.microsoft.com/en-us/library/cc838238%28v=vs.95%29)。 ASPX))。我應該如何包含它們? – ren 2013-05-07 16:45:52

+0

嘆了口氣,爲什麼你會離開這個問題? – 2013-05-07 16:54:08

+0

我只有在你的答案後才嘗試,無論如何,應該是單獨的問題,你是對的 – ren 2013-05-07 18:54:55