如何在c#metro应用程序中从资产中检索特定于语言的映像

如何在c#metro应用程序中从资产中检索特定于语言的映像,c#,microsoft-metro,C#,Microsoft Metro,我有一个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语言的图像加载到列表中,并检查图像是否存在(代码应该是动态的,因此如果有

我有一个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;
    }
}
通常,您在XAML中引用“逻辑”位图,加载的资源将检测当前区域性并加载正确的图像。一般来说,拥有非特定文化也是一个好主意(比如“en”和“cs”),以防你身处像en-CA这样的文化中,但仍然希望展示特定于语言的资源


对于执行此操作的示例应用程序,请参阅(它还包括覆盖区域性)。

检查是否有以当前语言命名的目录,并加载其中的所有图像?