我正在开发Windows Phone应用程序。

我正在使用图像,并且使用“属性”面板选择图片时,出现以下XAML:

<Image x:Name="GameImage" Margin="8" Source="/MyApp;component/Assets/Icons/GameImage.png"/>


为什么我得到“ /MyApp;component/...”? (有更好的方法吗?)

如果我尝试执行Image.Source="Assets/Icons/GameImage.png",为什么它不起作用?

最佳答案

这是因为您的映像已将其构建操作设置为“资源”(这是默认设置)。如果将其切换为“内容”,则可以在XAML中设置源,如下所示:

<Image x:Name="GameImage" Margin="8" Source="/Assets/Icons/GameImage.png"/>


要在代码中进行设置,您可以执行以下操作:

BitmapImage tn = new BitmapImage();
tn.SetSource(Application.GetResourceStream(new Uri(@"Assets/Icons/GameImage.png", UriKind.Relative)).Stream);
Image.Source = tn;


由于性能原因,您应该使用Content。有关更多详细信息,请参见本文:http://www.windowsphonegeek.com/tips/wp7-working-with-images-content-vs-resource-build-action

10-08 14:07