綁定使用C#中的枚舉使用本地化值下拉。綁定下拉使用C中的枚舉的本地化值#
我對所有的語言都有價值。所以我不需要從其他地方取它。 我可以用不同語言的resx文件編寫所有的值。但我不確定它是如何工作的。
我正在使用C#窗體。框架3.5
綁定使用C#中的枚舉使用本地化值下拉。綁定下拉使用C中的枚舉的本地化值#
我對所有的語言都有價值。所以我不需要從其他地方取它。 我可以用不同語言的resx文件編寫所有的值。但我不確定它是如何工作的。
我正在使用C#窗體。框架3.5
我用下面的代碼,它爲我
using System.Globalization;
using System.ComponentModel;
using System.Threading;
工作得很好.......
.......
。 ......
Thread.CurrentThread.CurrentUICulture = new CultureInfo(DDLLang.SelectedValue);
ComponentResourceManager resource = new ComponentResourceManager(typeof(Default));
resource.ApplyResources(LblName, "LblName");
LblName.ID = "LblName";
Response.Write(resource.GetString("strMsg",CultureInfo.CurrentUICulture)??resource.GetString("strMsg"));
在上面的代碼中,LblName是一個標籤, StrMsg一個簡單的字符串。
在資源文件中,我會寫這樣的:
名稱值
Lbl.Name標籤................
StrMsg anycustom msg ............
private static ResourceManager _resources = new ResourceManager("MyClass.myResources",
System.Reflection.Assembly.GetExecutingAssembly());
public static IEnumerable<string> GetLocalizedNames(this IEnumerable enumValues)
{
foreach(var e in enumValues)
{
string localizedDescription = _resources.GetString(String.Format("{0}.{1}", e.GetType(), e));
if(String.IsNullOrEmpty(localizedDescription))
{
yield return e.ToString();
}
else
{
yield return localizedDescription;
}
}
}
您在這裏使用的是什麼UI框架? WPF,asp.net,winforms等... – JaredPar
是的。你有什麼嘗試?這並不像.NET框架中的大多數UI技術都沒有本地化的鉤子,有時候可用編輯器。 – TomTom