2011-12-30 18 views
-2

私は以下の画像を追加しようとしましたが、まだ動作していません。画像の種類はコンテンツです。Bingマップに画像を追加

Image image = new Image(); 
image.Source = new System.Windows.Media.Imaging.BitmapImage(new Uri("myimage.png", UriKind.Relative)); 

//Define the image display properties 
image.Opacity = 1.0; 
image.Stretch = Stretch.Fill; 
image.Width = 40; 
image.Height = 40; 

// Center the image around the location specified 


//Add the image to the defined map layer 
phoneDetailsLayer.AddChild(image, e.Position.Location); 

mapViewAll.Children.Remove(phoneDetailsLayer); 
mapViewAll.Children.Add(phoneDetailsLayer); 
+0

エラーメッセージが表示されていますか、まったく表示されていませんか? – keyboardP

+0

エラーメッセージが表示されず、表示されません – ericlee

+0

イメージを確認してください。ロケーションとパス、およびイメージプロパティビルドアクションをリソースとして使用しています。 – BigL

答えて

-3
/projectname;component/images/menu/lost.png 

正しい方法です、あなたの答えの残りの部分は本当に

+0

xaml.csファイルはどのようにイメージファイルに関連していますか?私は、xaml.csファイルが別のフォルダにあると推測しているため、相対URIが必要です。たとえば、xaml.csファイルが/ viewsにある場合、あなたの相対URLは "../images/menu/lost.png" –

+0

画像がオン/ページ中に私のxamlは/ページにありますか?これはprobだろうか? – ericlee

+0

これは問題ではありませんが、パスの結果に注意する必要があります。すべて余分に。あなたが別のレベルに上がることを意味します。リンクは相対的です!あなたの状況では、このようなものです。 "/images/file.png" - > "/pages/images/file.png" "./images/file.png" - > "/pages/images/file.png" "../images/ file.png " - >" /images/file.png " –

1

が動作していない複数回使用されている場合、すなわち、一度(あなたのイメージが正しいリソースの種類で、最適にロードされていることを確認してください)。ここに記載されているWPF(WP7と同じ)の画像を読み込む方法は複数あります。WPF image resources

この投稿はVisual Studio: How to store an image resource as an Embedded Resource?で、使用すべき/使用すべきではないさまざまな画像リソースの種類について説明します。

私はあなたが理解できる良いものとして両方を見ておくべきだと思っています。将来起こりうる問題を避けるのに役立ちます。

-1

主な質問は、本当のURIを取得する方法であるようです。私にとって 次の表は、(私はドイツ語のみでそれを持っている)、この場合には、私を助け: Uriformats WP7

http://msdn.microsoft.com/de-de/library/aa970069.aspx

例:

// Absolute URI (default) 
Uri absoluteUri = new Uri("pack://application:,,,/File.xaml", UriKind.Absolute); 
// Relative URI 
Uri relativeUri = new Uri("/File.xaml", UriKind.Relative); 

例2:

Uri uri = new Uri("pack://application:,,,/File.xaml"); 

またはコードビハインド:

0

あなたの質問にコメントを追加することはできませんが、あなたがコンテンツを言うとき、コードを含むプロジェクトに直接画像を追加したのか、別のコンテンツプロジェクトにここで質問しますか?

あなたが直接それを追加したと仮定すると:

は、あなたが「リソース」、あなたはGetResourceStreamメソッド使用する必要がありますし、「ビルド・アクション」を設定していた場合:設定した場合は

Image image = new Image(); 
StreamResourceInfo resource = Application.GetResourceStream(new Uri("/myimage.png", UriKind.Relative)); 
var bmp = new System.Windows.Media.Imaging.BitmapImage(); 
bmp.SetSource(resource.Stream); 
image.Source = bmp; 

を"Build Action"を "Content"に設定すると、GetContentStreamメソッドを使用する必要があります。

Image image = new Image(); 
StreamResourceInfo resource = Application.GetContentStream(new Uri("/myimage.png", UriKind.Relative)); 
var bmp = new System.Windows.Media.Imaging.BitmapImage(); 
bmp.SetSource(resource.Stream); 
image.Source = bmp; 
0

この質問に対する回答を明確にするためです。問題はリソースタイプではなく、問題はUriの相対的な作業方法に関連していました。 /pages - 実際のページが含まれているため、上記のコードを含むページ /images - 実際のPNG画像が含まれています。参照する必要があります

元のコードでは、相対URIとして "myimage.png"が参照されています。アプリは "/pages/myimage.png"を見て、画像を見つけられません。ここでのトリックは、正しい相対URIを使用することです。次のように構築することができます: 1.最初に2点を使用してプロジェクトルートに移動します - > ..(現在のディレクトリに1つ、1つ上に上に1つ余分に移動します) 2.参照/画像 - >。 ./images 3.実際のファイル参照 - > ../images/myimageを追加します。png

正しいURIを使用すると、問題は解決されます。

関連する問題