我拥有最新的Visual C ++ 17(15.9.4),并从UWP directX C ++模板(无XAML)开始。
当我运行它时,它可以工作。它在窗口中显示彩色旋转的多维数据集,如果我全屏显示,则全屏显示,并且在屏幕右下方显示FPS编号。
现在我想在其中添加本地化,然后我去了那里:
Localize strings in your UI and app package manifest
所以我在该示例中添加了这两行:
auto resourceLoader = Windows::ApplicationModel::Resources::ResourceLoader::GetForCurrentView();
this->myXAMLTextBlockElement->Text = resourceLoader->GetString("Farewell");
在我的代码中是这样的:
void App::Run()
{
auto resourceLoader = Windows::ApplicationModel::Resources::ResourceLoader::GetForCurrentView();
auto myText = resourceLoader->GetString("Farewell");
while (!m_windowClosed)
{
if (m_windowVisible)
{
CoreWindow::GetForCurrentThread()->Dispatcher->ProcessEvents(CoreProcessEventsOption::ProcessAllIfPresent);
m_main->Update();
if (m_main->Render())
{
m_deviceResources->Present();
}
}
else
{
CoreWindow::GetForCurrentThread()->Dispatcher->ProcessEvents(CoreProcessEventsOption::ProcessOneAndAllPending);
}
}
}
但是那行不通,我在该代码的第一行中遇到了一个异常,说它找不到资源映射。 我做了他们所说的一切:创建了一个“ Strings”目录,在其中创建了“ en-US”目录,在其中创建了一个Resources.resw文件,其中的“ Farewell”字符串设置为“ bye bye!”。
它引发的异常:
Exception levée à 0x747D1812 dans App9.exe : exception Microsoft C++ :
Platform::COMException ^ à l'emplacement de mémoire 0x02CDF49C.
HRESULT:0x80073B1F ResourceMap introuvable.
Informations WinRT : ResourceMap introuvable.