我有c#metro应用程序,其中将本地化图像存储在资产中。
Assets
cs-CZ
Car1.jpg
Car2.jpg
Car3.jpg
Car4.jpg
en-US
Car1.jpg
Car2.jpg
Car3.jpg
Car4.jpg
Car5.jpg
Car6.jpg
Car7.jpg
我想将所有CarXX.jpg语言特定图像加载到列表中并检查图像是否存在(代码应该是动态的,因此如果有人添加新图像,它将加载新图像而不更改应用程序中的任何参数) 。我不知道如何检查指定语言的图像是否存在。如果应用程序在cs-CZ中运行,它必须返回4个图像,应用程序在en-US运行,它必须返回7个图像。
我有这段代码:
/// ...
int index = 1;
while (true)
{
string carPictureName = String.Format("Car{0}.jpg", index++);
// TODO: CHECK IF FILE EXISTS IN THE ASSET FOR SPECIFIED LANGUAGE
bool fileExists = CheckIfFileExists(carPictureName);
if (fileExists)
{
pictures.Add(carPictureName);
}
else
{
break;
}
}
答案 0 :(得分:0)
通常,您在XAML中引用“逻辑”位图,并且加载的资源将检测当前区域性并加载正确的图像。一般来说,拥有非特定文化也是一个好主意(如果你在en-CA这样的文化中,但仍希望展示特定于语言的资源,那么就像“en”和“cs”一样。
对于执行此操作的示例应用程序,请参阅http://code.msdn.microsoft.com/windowsapps/Application-resources-and-cd0c6eaa(它还包括覆盖文化)。