「XAML for Windows Embedded(Compact 2013)」プロジェクトの一部の背後にある画像を切り替える(「Silverlight for Windows Embedded ")like described in this answer.「XAML for Windows Embedded(Compact 2013)」プロジェクトの画像の堅牢なソースURIを取得
数字は、生成されたファイルPROJECTNAMEGenerated.rc2
にリストされているURIとして使用されます。
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"
ページや別の画像を追加すると数字が変わるようです。
IXRBitmapImagePtr->SetUriSource(src);
(またはIXRBitmapImage.SetUriSource(src);
)に使用できる堅牢なURIをどのように取得すればよいでしょうか?
私はまた、アプリケーションにリソースとして画像を追加し、このようにそれらをロードしようとした:
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
を定義します)。