所有,我是 WPF 的新手。我想阅读一个 .resx 文件和所有具有不同文化的相关文件;例如,名为“SomeFile.resx”的默认“en-GB”.resx 文件和德语类似物“SomeFile.de-DE.resx”。当然,我可以拥有大量与各种文化相关的不同 .resx 文件。
所以,我想把所有不同的文化资源读成一个单一的DataGrid
,这样我就有了类似的东西
Resource Index | Resource Key | English (Default) | German
1 | SomeKey1 | Run Script | Skript Ausführen
2 | SomeKey2 | OK | OK
等。我的问题是将这些数据添加到DataGrid
被调用的dataGrid
. 所以我目前将可用的非默认 .resx 文件放入Dictionary<string, string>
Dictionary<string, string> cultureDict = new Dictionary<string, string>();
然后我计划使用 .resx 文件来遍历不同的 .resx 文件(对于多种文化),ResXResourceReader
像这样读取 .resx 文件
Dictionary<string, string> resourceMap = new Dictionary<string, string>();
public static void Func(string fileName)
{
ResXResourceReader rsxr = new ResXResourceReader(fileName);
foreach (DictionaryEntry d in rsxr)
{
resourceMap.Add(d.Key.ToString(),d.Value.ToString());
}
rsxr.Close();
}
public string GetResource(string resourceId)
{
return resourceMap[resourceId];
}
我计划创建一个List<Dictionary<string, string>>
来保存来自不同文化的读者的信息,然后遍历List
,并添加行。
我的问题是,什么是最好和最有效的方式,将这些读者返回的数据纳入DataGrid
考虑文化的数量是可变的并且可能很大?
谢谢你的时间。
注意:我可以添加列
DataGridTextColumn itemColumn = new DataGridTextColumn();
itemColumn.Header = "Item Number";
itemColumn.Binding = new Binding("Item Number");
dataGrid.Columns.Add(itemColumn);
但这是为这种特殊情况添加行的最佳方式。