在“用于Windows Embedded(Compact 2013)”的XAML项目(也称为“Silverlight for Windows Embedded“)如described in this answer.在“用于Windows Embedded(Compact 2013)的XAML”项目中获取图像的可靠来源URI
我使用这些数字作为生成的文件中列出的URI PROJECTNAMEGenerated.rc2
。它看起来像这样:
IDR_PROJ_APP SLWE_XAML DISCARDABLE "XamlPack\\App.Compressed"
IDR_PROJ_DISCLAIMERPAGE SLWE_XAML DISCARDABLE "XamlPack\\DisclaimerPage.Compressed"
IDR_PROJ_EASTEREGGPAGE SLWE_XAML DISCARDABLE "XamlPack\\EasterEggPage.Compressed"
IDR_PROJ_MAINPAGE SLWE_XAML DISCARDABLE "XamlPack\\MainPage.Compressed"
IDR_PROJ_MEASUREMENTPAGE SLWE_XAML DISCARDABLE "XamlPack\\MeasurementPage.Compressed"
105 XAML_RESOURCE DISCARDABLE "..\\Xaml\\Ressources\\BatteryChargerError.png"
106 XAML_RESOURCE DISCARDABLE "..\\Xaml\\Ressources\\BatteryHigh.png"
107 XAML_RESOURCE DISCARDABLE "..\\Xaml\\Ressources\\BatteryLow.png"
108 XAML_RESOURCE DISCARDABLE "..\\Xaml\\Ressources\\disclaimer.png"
109 XAML_RESOURCE DISCARDABLE "..\\Xaml\\Ressources\\easter.jpg"
它看起来像数字会改变,如果我添加一个页面或其他图像。
任何想法如何获得一个健壮的URI,我可以使用IXRBitmapImagePtr->SetUriSource(src);
(或IXRBitmapImage.SetUriSource(src);
)?
我也试图将图像作为资源添加到应用程序并加载它们像这样:
BSTR src = TEXT("#IDB_BATTERY_HIGH_CHARGING");
IXRApplicationPtr app;
GetXRApplicationInstance(&app);
HINSTANCE instance = App::GetHInstance();
IWICBitmap* img = 0;
HRESULT res = app->LoadImageFromResource(instance,src, L"PNG", &img);
IXRBitmapImagePtr bitmapImage;
app->CreateObject(IID_IXRBitmapImage, &bitmapImage);
res = bitmapImage->SetSource(img);
m_pBatteryStateImage->SetSource(bitmapImage);
这将设置一个不同的形象 - 但错误的(并且总是相同的错误之一,无论哪个src
我定义)。