但现在我处在一个棘手的问题上。我的应用程序的一个功能是保存历史记录。我为此创建了一个基础课程。
public class GHistoryClass
{
public GHistoryClass(string act, string icop, string categ, string desc,)
{
this.m_Action = act;
this.m_IconPath = icop;
this.m_Description = desc;
this.m_Category = categ;
}
public string m_Action { get; set; }
public string m_Description { get; set; }
public string m_Category { get; set; }
public string m_IconPath { get; set; }
}
我在ObservableCollection
中保存了IsolatedStorage
这样的历史记录。
当语言改变时,我想翻译历史。
我无法理解,例如如何将m_Action
与localized resourses
挂钩。
任何想法都将受到最高的赞赏。
修改
我认为应该做的诀窍是将AppResources
属性名称的名称保存为字符串
所以m_Action = "AppResources.firstaction"
然后我的想法是将其投射为PropertyPath
。
这是一个好主意,我如何将string
转换为object
名称?
答案 0 :(得分:1)
将资源(resx)文件添加到项目时,最终会为每个资源生成一个生成的属性。
internal class MyResources
{
// other properties etc
internal static string SomeLabel
{
get
{
return ResourceManager.GetString("SomeLabel", resourceCulture);
}
}
}
通常你会像这样使用这个资源:
string label = MyResources.SomeLabel;
但你不必这样做。相反,您可以直接访问ResourceManager:
string label = MyResources.ResourceManager.GetString(m_Action);