所有,我是WPF的新手。我想閱讀.resx文件和所有與不同文化有關的文件;例如默認的'en-GB'.resx文件,稱爲'SomeFile.resx'和'SomeFile.de-DE.resx'德文模擬器。當然,我可以擁有與各種文化相關的大量不同的.resx文件。在運行時將行和列添加到WPF數據網格
所以,我想讀的所有不同的文化資源轉化爲一個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>();
然後我打算使用ResXResourceReader
閱讀像這樣的.resx文件通過不同的.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);
但它是添加的行,這種特殊情況下的最佳方式。